Java设计模式六大原则(6):开闭原则

1.定义:一个软件实体类、模块和函数应该对扩展开放,对修改开闭。

(就是我们改变一个软件时(比如扩展其他功能),应该通过扩展的方式来达到软件的改变,而不应爱修改原有代码来实现变化)

2.问题:在软件开发的过程中,无法避免的因为变化、升级和维护等原因需要对软件原有的代码进行修改,此时可能会给旧的代码中引起错误,也可能会使我们不得不对整个功能进行重构,并且需要对原有的代码进行重新测试。

3.解决:当原有的代码需要改变时,我们尽量通过扩展软件实体的行为来实现变化,而不是通过修改代码来实现变化。

(需要让类来自己提供修改以及扩展的方法)

4.注解:

      (1) 用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的实现类来进行扩展,当软件需要发生变化时,我们只需要根据需求重新派生一个实现类来扩展就可以了。当然前提是我们的抽象要合理,要对需求的变更有前瞻性和预见性才行。

      (2).单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

注:个人学习随记!

猜你喜欢

转载自blog.csdn.net/wanjinYoung/article/details/81540465