先上结论:
一个不懂设计模式的程序员,是绝对写不好程序代码的,心中没有设计模式的概念,你写出代码,内行一看就是个草台班子。这篇文章仅是个人设计模式学习的一篇笔记,算是抛砖引玉,详细的概念和用法还需要自己敲代码一个个验证体会。
开干!
一、程序设计的基本原则:
1、封装变化,找出可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起
2、针对接口编程而不是针对实现编程
3、多用组合少用继承
4、为了交互对象之间的松耦合设计而努力
5、类应该对拓展开放对修改关闭
6、要依赖抽象,不要依赖具体类,依赖倒置原则
7、变量不可用持有具体类的
8、最少知识原则,只和你的密友谈话
9、好莱坞原则---别调用我们(别给我打电话),我们会调用你(我会给你打电话)
10、一个类应该只有一个引起变化的原因
策略(strategy)模式:
它定义了一系列算法,并将每个算法封装起来,使它们可以互换。策略模式让算法的变化独立于使用算法的客户。
在策略模式中,通常包含以下几个角色:
- 抽象策略角色(Strategy):这是一个抽象类或接口,定义了所有具体策略类需要实现的算法或行为。它通常由一个接口或者抽象类实现,为所支持的算法声明了抽象方法。
- 具体策略角色(ConcreteStrategy):这些类