Java GoF设计模式简略总结
2025-08-25 11:29:57 4 举报
AI智能生成
Java GoF(Gang of Four)设计模式是23种在面向对象软件设计中被广泛认可和应用的模式
作者其他创作
大纲/内容
GoF设计模式
创建型模式
单例模式
确保一个类只有一个实例
提供全局访问点
常用于数据库连接池
原型模式
通过复制现有的实例来创建新的实例
避免重复的初始化操作
常用于对象的深拷贝
工厂方法模式
定义一个用于创建对象的接口
让子类决定实例化哪一个类
常用于创建复杂对象
抽象工厂模式
提供一个接口,用于创建相关或依赖对象的家族
不必指定具体类
常用于创建一系列相关或相互依赖的对象
建造者模式
将一个复杂对象的构建与它的表示分离
使得同样的构建过程可以创建不同的表示
常用于创建复杂对象的组装过程
结构型模式
适配器模式
将一个类的接口转换成客户期望的另一个接口
使原本接口不兼容的类可以一起工作
常用于不兼容接口之间的转换
桥接模式
将抽象部分与实现部分分离
使它们都可以独立地变化
常用于抽象和实现之间的解耦
组合模式
将对象组合成树形结构以表示“部分-整体”的层次结构
使得用户对单个对象和组合对象的使用具有一致性
常用于表示对象的部分-整体层次结构
装饰器模式
动态地给一个对象添加一些额外的职责
在不改变其结构的情况下,增加额外功能
常用于扩展一个类的功能
外观模式
为子系统中的一组接口提供一个统一的接口
定义一个高层接口,让子系统更容易使用
常用于简化复杂系统的接口
享元模式
运用共享技术有效地支持大量细粒度的对象
减少创建对象的数量,降低内存占用和提高性能
常用于大量细粒度对象的系统中
代理模式
为其他对象提供一种代理以控制对这个对象的访问
代理对象在客户端和目标对象之间起到中介作用
常用于控制对原始对象的访问
行为型模式
责任链模式
使多个对象都有机会处理请求
避免请求的发送者和接收者之间的耦合关系
常用于处理请求的发送者和接收者解耦
命令模式
将请求封装为一个对象,从而使你可用不同的请求对客户进行参数化
对请求排队或记录请求日志,以及支持可撤销的操作
常用于参数化对象以及操作的队列化
解释器模式
给定一个语言,定义它的文法的一种表示,并定义一个解释器
这个解释器使用该表示来解释语言中的句子
常用于特定类型的问题的解决方案
迭代器模式
提供一种方法顺序访问一个聚合对象中的各个元素
而又不暴露该对象的内部表示
常用于访问集合对象的内容而无需暴露其内部结构
中介者模式
减少类之间的通信复杂性
通过一个中介对象来封装一系列的对象交互
常用于多个对象之间紧密耦合的情况
备忘录模式
在不破坏封装的前提下,捕获一个对象的内部状态
并在该对象之外保存这个状态
常用于提供对象状态的备份功能
观察者模式
定义对象间的一种一对多的依赖关系
当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
常用于实现对象间的通知机制
状态模式
允许一个对象在其内部状态改变时改变它的行为
对象看起来似乎修改了它的类
常用于一个对象的行为依赖于它的状态
策略模式
定义一系列的算法,把它们一个个封装起来
并且使它们可相互替换
该模式使得算法可独立于使用它的客户而变化
常用于算法的封装和切换
模板方法模式
在一个方法中定义一个算法的骨架
而将一些步骤延迟到子类中
模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤
常用于封装算法的不变部分,提供抽象定义
访问者模式
表示一个作用于某对象结构中的各元素的操作
它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作
常用于对一个对象结构中的元素执行操作
0 条评论
下一页