23种设计模式小结

创建模式

简单工厂模式:由工厂决定生产哪一种产品,选择了什么工厂就生产什么样的产品【不算一种设计模式】

工厂方法模式:定义工厂接口。由详细工厂决定生产什么样的产品

抽象工厂模式:提供接口,创建一系列相关或独立的对象,而不指定这些对象的详细类

单例模式:在整个系统中仅仅存在对象的一个实例

建造者模式:使用相同的建造过程创建不同的实例

原型模式:通过克隆/复制一个已经存在的实例创建新的对象

结构模式

适配器模式:将具有A接口外观的对象转换成具有B接口外观的对象,但仍由A类型对象运行底层操作

桥接模式:将行为和动作进行分离。使之能够独立进行变化

组合模式:将一组对象当作一个对象看待,运行组合的方法,该组对象的方法都会被调用

装饰者模式:动态的给对象加入功能

外观模式:将一组行为进行包装,简化外部调用

享元模式:将公共使用的东西抽取出来共同使用

代理模式:一个类作为其它类的接口,供客户调用

行为模式

责任链模式:将职责进行封装,串联成链式并定义其流转行为,同一时候能够进行动态扩充职责

命令模式:将行为封装成命令使其具有统一外观,方便统一调用运行

解释器模式:使用抽象表示取代具体描写叙述

迭代器模式:封装不同集合的遍历方法。使其具有统一的外观

中介模式:使用中介对象进行各对象间的交互,避免对象内嵌交互。减少耦合

备忘录模式:类似闭包功能,在不破坏对象封装的情况下,保存对象的细节。以便于恢复到该状态

观察者模式:一个对象的变化会影响到其它对象

状态模式:依据状态的转移而选择不同的状态类进行处理对应的业务逻辑

策略模式:定义算法族。分别封装起来,让他们直接能够相互替换,使算法的变化独立于使用算法的客户

模板方法模式:类似工厂方法模式,将同一类对象中同样操作进行抽取,不同的操作进行抽象,由详细类进行实现

訪问者模式:在不改变元素的类的前提下定义作用于这些元素的新操作

原文地址:https://www.cnblogs.com/mfrbuaa/p/5308649.html