目标:粗略了解所有设计模式
设计原则
单一职责(Single Responsibility Principle):
应当有且仅有一个原因引起类的变更。- 用户的属性和操作应当分开;
里氏替换原则(Liskov Substitution Principle):
所有引用基类的地方必须能够使用其子类而不需知道。- 父类应当可以自由替换为子类;
- 子类要实现的函数如果影响到了父类需要其改变,正确的做法是将其独立出来,只委托原父类管理一些函数;
依赖倒置原则(Dependence Inversion Principle):
高层模块不应该依赖低层模块,两者都应该依赖其抽象;
抽象不应该依赖细节;
细节应该依赖抽象。- 面向接口
- 用抽象类来保证高层的函数和接口与子类无关
- 任何类都不应该从具体类派生
接口隔离原则():
客户端不应该依赖它不需要的接口;
类间的依赖关系应该建立在最小的接口上。迪米特法则(Law of Demeter)or最少知识原则(Least Knowledge Principle):
一个类应该对自己需要耦合或调用的类知道的最少。开闭原则:
软件实体如类、模块和函数,应该对扩展开放,对修改关闭。