OCP原则

来源:互联网 发布:小米5 4g网络 编辑:程序博客网 时间:2024/04/27 22:06

-闭原则(Open-Closed Principle,简称OCP)。 Software entities should be open for extension,but closed for modification.

设计要对扩展(需求的变化扩展)有好的支持,而对修改要严格限制。

也就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改现有代码的情况下进行扩展。

就是说我们开发了一个软件,应该可以对它进行功能扩展(开放),而在进行这些扩展的时候,不需要对原来的程序进行修改(关闭)!

好处:
1.在软件可用性上,非常灵活。可以对软件进行扩展,加入新的功能。这样,这个软件就可以通过不断的增加新模块满足不断变化的新需求!
2.由于对软件原来的模块不能修改,不会影响现有的模块,因此不用担心软件的稳定性。

实现:

抽象化,在做抽象的过程中注意单一职责原则(SRP)与可变性封装原则(Principle of Encapsulation of Variation,  EVP)。EVP要求在做系统设计的时候,对系统所有可能(或允许)发生变化的部分进行评估和分类,每一个可变的因素都单独进行封装。