开闭原则
开闭原则(Open Closed Principle, OCP)
含义
当应用的需求改变时,在不修改软件实体源代码或二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
影响
- 测试 如果软件遵循开闭原则,那么,测试的时候只需要对扩展的功能进行测试就可以了,因为,原来的测试代码仍然可以正常运行。
- 提高代码的可复用性 粒度越小,被复用的可能性就越大,在面向对象的过程中,根据原子和抽象编程可以提高代码的可复用性。
- 可以提高软件的可维护性
稳定性高,延续性强,所以,易于扩展和维护。
实现方法
可以通过"抽象约束,封装变化"来实现开闭原则。 下面是一个简单的渲染系统,大概表示下OCP的实现和使用。 ``` abstract class DisplayObject{ +disply() } class Label{ +disply() } class Sprite{ +disply() } class DisplayManager{ - displayObjects
} DisplayObject <|- Label DisplayObject <|- Sprite DisplayManager --> DisplayObject
```