一个类只负责一项职责,如若不然,就应该把类拆分;
比如相机,只有拍照的功能
克服继承的缺点
Dependence Inversion Principle
这个是开闭原则的基础,具体内容:面向接口编程。
Interface Segregation Principle
这个原则的意思是:每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好。
Law of Demeter
这个原则的意思是:每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好。
Open Close Principle
开闭原则是一个非常基础的原则,其他的五个原则都是开闭原则的具体,也就是说其他的五个原则是指导设计的工具和方法,而开闭原则才是它们的精神领袖。只要我们遵守好其他的五大原则,那么我们设计的软件自然就遵守了开闭原则。
简单总结上面的五大原则就是:单一职责原则告诉我们实现类要职责单一;里式替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向抽象编程;接口隔离原则告诉我们设计接口要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则告诉我们:要对修改关闭,对扩展开放。其实前面的五大原则一直反复强调的,几乎每一个原则都在强调的宗旨就是:解耦,单一,高内聚。
开闭原则解读:
设计模式是解决问题的思想,重要的是思想,而不是刻意在写代码时去追求设计模式