最新在看一本书《设计模式之禅》,感觉写的挺好,这里简单总结一下
###设计模式的六大原则
我这里只是简单的列一下大的原则和自己的理解,详细内容可以去《设计模式之禅》这本书
1,单一职责
对于接口设计,要做到职责单一,结构清晰
我的理解:不管是接口还是函数,功能要清楚,一个接口修改尽量是由单一变量引起,如果有多种变量(对象变化)引起,不如拆成多个接口
2,里氏替换
主要针对继承关系讲的;只要有父类出现的地方,子类都可以出现
- 子类必须完全实现父类的方法
- 子类可以有自己的个性
- 覆盖和实现父类方法时输入参数可以放大,反过来不行
- 覆盖和实现父类方法时输出可以缩小
我的理解:在常用的设计模式中,继承关系随处可见,要避免奇怪的错误
3,依赖倒置
定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象;细节依赖抽象,抽象不依赖细节
4,接口隔离
接口尽量细化,接口的方法尽量少
5,迪米特法则
一个类应该对自己的调用方知道的最少
6,开闭原则
对扩展开放,对修改关闭
也就是尽量通过扩展来实现变化,而不是修改已有代码来实现
代码设计之初就有考虑是否容易拓展