what:
在哲学上,矛盾法则即对立统一的法则,是唯物辩证法的最根本法则。开闭原则是java世界里最基础的设计原则,他指导我们如何建立一个稳定的,灵活的系统,先来看开闭原则的定义:一个软件实体如类、模块和函数应该对外扩展开发,对修改关闭。注意:开闭原则对扩展开放,对修改关闭,并不意味着不做任何修改,底层模块的变更,必然要有高层模块进行耦合,否则就是一个孤立无异议的代码片段。
变更的分类:
1.逻辑变化
2.子模块变化
3.可见视图变化
why:
前面的几项原则都是对开闭原则的一个实现。
1.开闭原则对测试的影响
2.开闭原则提高复用性
3.开闭原则可以提高可维护性
4.面向对象开发的要求
how:
1.抽象的约束
2.元数据控制模块行为
3.制定项目章程
4.封装变化
前面5个设计原则:
单一职责
开闭原则
里氏替换原则
迪米特法则
接口隔离原则
依赖倒置原则