设计模式——设计模式之禅的阅读笔记
6大设计原则
1.单一职责原则(SRP):应该有且仅有一个原因引起类的变更。接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
2.里氏替换原则(LSP):所有引用基类的地方必须能透明地使用其子类的对象。只要父类能出现的地方子类就能够出现,而且替换为子类也不会产生任何错误或异常,但是反过来就不行了,有子类出现的地方,父类未必就能适应。
- 子类必须完全实现父类的方法
- 子类可以有自己的个性
- 覆盖或实现父类的方法时输入参数可以被放大(子类中方法的前置条件必须与超类中被覆写的方法的前置条件相同或更宽松)
- 覆写或实现父类的方法时输出结果可以被缩小(父类的一个方法的返回值是一个类型T,子类的相同方法( 重载或覆写)的返回值为S, 那么里氏替换原则就要求S必须小于等于T。
3.依赖倒置原则(DIP):
- 高层模块不应该依赖应该依赖底低层模块,两者都应该依赖其抽象;
- 抽象不应该依赖细节;
- 细节应该依赖抽象。
ps 对象的依赖关系有三种方式传递
一、构造函数传递依赖对象 public A(B){A.B = B}
二、Setter方法传递依赖对象 public setB(B){A.B = B}
三、接口声明依赖对象
4.接口隔离原则
————————未完待续————————————