首页 > 代码库 > 23种设计模式小结

23种设计模式小结

创建模式

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

工厂方法模式:定义工厂接口,由具体工厂决定生产什么样的产品

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

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

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

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

结构模式

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

桥接模式:将行为和动作进行分离,使之可以独立进行变化

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

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

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

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

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

行为模式

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

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

解释器模式:使用抽象表示代替详细描述

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

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

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

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

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

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

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

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

23种设计模式小结