首页  

设计模式小结     所属分类 DP 浏览量 626
经典设计模式  GOF23

GOF  Gang of Four 四人组
Elich Gamma , Richard Helm , Ralph Johnson , John Vlissides
Design Patterns: Elements of Reusable Object-Oriented Software  四位作者
设计模式 可复用面向对象软件的基础




创建模式 结构模式 行为模式
Creational Patterns 
Structural Patterns
Behavioral Patterns


创建型 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator Pattern) 9. 组合模式(Composite Pattern) 10. 外观模式(Facade Pattern) 11. 享元模式(Flyweight Pattern) 12. 代理模式(Proxy Pattern) 行为型 13. 模板方法(Template Method) 14. 命令模式(Command Pattern) 15. 迭代器模式(Iterator Pattern) 16. 观察者模式(Observer Pattern) 17. 解释器模式(Interpreter Pattern) 18. 中介者模式(Mediator Pattern) 19. 职责链模式(Chain of Responsibility Pattern) 20. 备忘录模式(Memento Pattern) 21. 策略模式(Strategy Pattern) 22. 访问者模式(Visitor Pattern) 23. 状态模式(State Pattern)
创建型 Singleton 单例模式 保证一个类只有一个实例,并提供一个全局访问点 java.lang.Runtime spring ioc bean 默认 单例 结构型 Composite 组合模式 将对象组合成树形结构以表示部分整体的关系,单个对象和组合对象的使用具有一致性 结构型 FACADE 外观 为子系统中的一组接口提供一致的界面,使子系统更容易使用 结构型 Proxy 提供代理以控制对这个对象的访问 行为型 Iterator 迭代器 提供一个方法顺序访问一个聚合对象的各个元素,不需要暴露该对象的内部表示 java.util.Iterator List list = new ArrayList(); list.add("a"); list.add("b"); Iterator it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } 行为型 Observer 观察者 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知 spring容器事件机制 行为型 Template 模板 定义一个操作中的骨架,而将一些步骤延迟到子类中 spring JdbcTemplate 创建型 Abstract Factory 抽象工厂 提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品 创建型 Factory Method 工厂方法 定义一个用于创建产品的接口,由子类决定生产什么产品 结构型 Adapter 适配器 将一类的接口转换成客户希望的另外一个接口,使原本不兼容接口能一起工作 结构型 Decorator 装饰 动态地给一个对象增加一些额外的职责 行为型 Command 命令 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。 行为型 State 状态 允许对象在其内部状态改变时改变其行为 行为型 Strategy 策略模式 定义一系列的算法,可以互相替换 创建型 Builder 生成器 将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象 Java Builder 模式 实例 结构型 Bridge 桥接 将抽象与实现分离,使它们可以独立变化 用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度 行为型 China of Responsibility 职责链 把请求从链中的一个对象传到下一个对象,直到请求被响应为止 通过这种方式去除对象之间的耦合 创建型 Prototype 原型 用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象 结构型 Flyweight 享元 以共享的方式高效的支持大量的细粒度对象 行为型 Mediator 中介者 用一个中介对象封装一些列的对象交互 行为型 Visitor 访问者模式 数据结构与数据操作分离 可以在不改变数据结构的前提下定义作用于这些元素的新的操作 行为型 Interpreter 解释器 行为型 Memento 备忘录 在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态
Spring中的设计模式

上一篇     下一篇
关于职级的一些段子

门面模式 代理模式 适配器模式的区别

隐私计算简介

Java Builder 模式 实例

隐私计算技术点和术语

反编译工具 JD-GUI 启动报错