设计模式小结
所属分类 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 启动报错