23种设计模式小结
创建模式
简单工厂模式:由工厂决定生产哪一种产品,选择了什么工厂就生产什么样的产品【不算一种设计模式】
工厂方法模式:定义工厂接口。由详细工厂决定生产什么样的产品
抽象工厂模式:提供接口,创建一系列相关或独立的对象,而不指定这些对象的详细类
单例模式:在整个系统中仅仅存在对象的一个实例
建造者模式:使用相同的建造过程创建不同的实例
原型模式:通过克隆/复制一个已经存在的实例创建新的对象
结构模式
适配器模式:将具有A接口外观的对象转换成具有B接口外观的对象,但仍由A类型对象运行底层操作
桥接模式:将行为和动作进行分离。使之能够独立进行变化
组合模式:将一组对象当作一个对象看待,运行组合的方法,该组对象的方法都会被调用
装饰者模式:动态的给对象加入功能
外观模式:将一组行为进行包装,简化外部调用
享元模式:将公共使用的东西抽取出来共同使用
代理模式:一个类作为其它类的接口,供客户调用
行为模式
责任链模式:将职责进行封装,串联成链式并定义其流转行为,同一时候能够进行动态扩充职责
命令模式:将行为封装成命令使其具有统一外观,方便统一调用运行
解释器模式:使用抽象表示取代具体描写叙述
迭代器模式:封装不同集合的遍历方法。使其具有统一的外观
中介模式:使用中介对象进行各对象间的交互,避免对象内嵌交互。减少耦合
备忘录模式:类似闭包功能,在不破坏对象封装的情况下,保存对象的细节。以便于恢复到该状态
观察者模式:一个对象的变化会影响到其它对象
状态模式:依据状态的转移而选择不同的状态类进行处理对应的业务逻辑
策略模式:定义算法族。分别封装起来,让他们直接能够相互替换,使算法的变化独立于使用算法的客户
模板方法模式:类似工厂方法模式,将同一类对象中同样操作进行抽取,不同的操作进行抽象,由详细类进行实现
訪问者模式:在不改变元素的类的前提下定义作用于这些元素的新操作