0.从设计原则到设计模式
1.针对接口编程,而不是实现编程
2.优先使用对象组合而不是继承
3.封装变化点
4.使用重构得到模式
5.单一职责原则:一个类只有一个引起它变化的原因
6.开放封闭原则:对扩展开发,对更改封闭
7.依赖倒置原则:高层模式不应该依赖底层模块,两者都应该依赖抽象
抽象不应该依赖具体的实现,具体的实现应该依赖抽象
1.Singleton Pattern 单件模式(创建型模式)
解决对象个数的问题
2.Factory Method Pattern 工厂方法(创建型模式)
解决“单个对象”的问题
3.Abstract Factory 抽象工厂(创建型模式)
解决系列对象的问题
4.Builder 生成器模式(创建型模式)
解决部分对象的问题,
5.Prototype 原型模式
原型模式是通过拷贝一个现有对象生成新对象的。
6.Adapter 适配器模式(结构型模式)
将一个类的接口转换成另一个客户希望的接口
7.Birdge 桥接模式
应用在两个变化很大的纬度。
8.Composite 组合模式(结构性模式)
把对象组合成树形结构,以表示部“分和整体”的层次结构。使得对象对单个对象和组合对象使用具有一致性。
9.Decoretor 装饰模式(结构性模式)
动态地为对象增加一些额外的职责(功能)
10.Facade 外观模式(结构性模式)
为子系统中的一组接口提供一个一致的界
11.FlyWeight 享元模式(结构型模式)
利用共享技术有效支持大量细粒度对象。
12.Proxy 代理模式(结构性模式)
为其他对象提供一种代理以控制对象的访问
13.Template Method 模版方法(行为模式)
定义一个算法的框架,让实现延迟到子类中,在不改变算法的框架重新定义具体的算法。
14.Command 命令模式(行为模式)
将行为的请求与行为的操作解耦。
15.Iterpreter 解释器模式(行为模式)
将对象与解释算法解耦。
16.Mediator 中介者模式(行为模式)
用中介对象封装一系列对象交互,中介使对象之不需要显示应用,而是由中介引用。
17.Iterator迭代器模式(行为额模式)
为集合提供一个统一的访问接口
18.Observer观察者(行为模式)
将观察者与被观察者解耦
19.chain of Responsibility职责链(行为模式)
将发送者与接受者解耦。应用场合:一个请求可能有多个接受者,但真正处理的接受者只有一个。
20.Memento备忘录模式(行为模式)
不破坏封装性的前提,把对象的状态保存在对象以外,以后可将该对象回复到原来保存的状态。
21.State状态模式(行为模式)
在对象切换状态的时候就切换到相应的对象,从而实现了具体操作与状态转换之间解耦。
22.strategy策略模式(行为模式)
将对象与算法解耦。
23.Visitor访问者(行为模式)
在不改变类的元素前前提下定义作用该类的新操作。