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