刚接触设计模式的时候我就被它的优雅给吸引了,发现原来代码还可以这样写,当时的我入了迷。
记得看的第一本设计模式的书籍叫《大话设计模式》,当时的我还不能完全理解里面的思想,但并不妨碍我被它的优雅给吸引,
这本书我看了3遍,直到现在感觉还是有点乱,在这整理一下自己的思路,加深一下自己的理解。
类的设计原则:
开闭原则:在面对对象设计的中,应该遵循对扩展开放,对修改关闭。
开闭原则实现方法:
为了满足开闭原则,我们这软件设计中应该将不变的部分抽象出来,定义成不变的接口(或抽象类),模块之间调用通过抽象接口进行,这样即使实现层发生变化,
调用代码也不需要改变,接口是不变的是可以复用的,简单的说就是基于接口(抽象)编程
单一职责原则:在类的设计过程中,只能让一个类有且只有一个职责。
为什么一个类不能多余一个以上的职责?
当一个类拥有多个职责的时候,也就意味着有多个原因会引起该类的改变,而这种变化会影响到该类不同职责的使用者:
1.当类的一个职责需要包含其他外部类的时候,该类的另外一个职责的使用者就不得不保函这个外部类
2.当类的一个职责改变,而该类的另外一个职责的使用者也不得不重新编译这个类
职责划分
单一职责其实从字面去理解非常容易,但在实际的设计过程中,并不是那么容易对职责进行划分。
首先我尝试用一句话来概括这个类的职责,在语句中不要包括或、且、和之类的字眼,然后考虑这个类是否存在多个原因引起他的改变
接口分离原则:接口的设计应该遵循最小接口原则,不要把用户不需要的方法放到同一个接口里