从一个渐入的方式来进入设计模式的学习
- 先是构成一个超类,通过继承来实现功能的提升。如果需要修改功能,改超类的方法,会直接导致所有的继承类的改变。
- 将独有方法独自构建接口,继承类想要实现独自的功能需要实现接口。但是很多接口需要实现很多接口。无法达到复用。
设计原则一:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。把会变化的部分取出来并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分。
设计原则二:针对接口编程,而不是针对实现编程。
- 将独有的功能学成抽象超类,继承类的实现不是通过继承接口而是通过行为编写。
设计原则三:多用组合,少用继承。使用组合会使系统具有很大的弹性。
策略模式
策略模式定义了算法族,分别封装起来,让他们之间可以互相替换。
设计模式的魔力
设计模式是一种思想,方法,而不是一个库或者框架。设计模式是为了让我们更好的解决问题;库和框架是为了让我们更好的编码。