一。是什么
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
二。为什么需要设计模式
第一原则,也是终极原则必须知道:对修改关闭,对扩展开放。
三,小结
记住开闭原则,那么就记住了24种设计模式和设计模式7大原则。
记住组合优先于继承。那么就秒懂了:迭代器模式,适配器模式,装饰模式...等等。
很多设计模式刚开始不理解,是正常的,必须认识到,设计模式是一个工程目标,不是为了代码简洁。而是为了对修改关闭。
只有理解到了设计模式的目标是对修改关闭,而不是简洁,才会理解设计模式。
如何理解对修改关闭?就是把修改从方法内部赶到方法外部。从方法外部赶到类外部。从模块内部赶到模块外部。越远越好。
怎么赶?
1.用组合代替继承,改一次继承一次。明显不如组合,把修改放到外吧。把它组合进来就可以,如迭代器模式。
2.用接口来赶,如工厂模式,里面创建各种对象,不如让各种对象实现接口。调用接口实现者的创建方法。
三。逐一实践
四。总结
这6中模式,基本涵盖了开闭思想的绝大部分体现。掌握这6种模式。就可以说知道了23中模式吧。
工厂模式,是开闭原则的最佳体现。
装饰模式,很难表达清,继承就像一个专属模板,而装饰这种就是活字印刷。
观察者,代表了 事件的基本行为,回调。这个是现代语言的基础。
状态模式,代表了把行为类化的思想,行为好几个模式的总体思想就是这个。
迭代器模式,代表行为静态继承固化,不如组合更灵活。几个模式也是这个思想。
桥接模式,代表了多态的实践模式。