java设计模式分为哪几种
时间: 2025-01-02 16:33:21 浏览: 6
### Java 设计模式类型及其分类
#### 创建型模式
创建型模式用于抽象对象的创建过程,使得程序在运行时可以根据实际情况动态决定要创建的对象种类。常见的创建型模式包括:
- **单例模式 (Singleton Pattern)**:确保一个类只有一个实例,并提供全局访问点[^1]。
- **工厂方法模式 (Factory Method Pattern)**:定义了一个创建对象的接口,但是让子类决定实例化哪一个类。
- **抽象工厂模式 (Abstract Factory Pattern)**:提供了一种方式来封装一系列具有相同主题的产品族的构建。
- **建造者模式 (Builder Pattern)**:将复杂对象的构建与其表示分离,以便相同的构建过程可以创建不同的表示。
- **原型模式 (Prototype Pattern)**:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象[^2]。
#### 结构型模式
结构型模式处理的是如何组合多个类或对象形成更大的结构。这些模式通常关注于简化复杂的系统架构以及提高灵活性和可维护性。主要的结构型模式如下:
- **适配器模式 (Adapter Pattern)**:允许不兼容的接口协同工作,它充当两个不同接口之间的桥梁。
- **装饰器模式 (Decorator Pattern)**:可以在不必改变原组件代码的前提下给其增加额外的功能。
- **代理模式 (Proxy Pattern)**:为其他对象提供一种代理以控制对这个对象的访问。
- **桥接模式 (Bridge Pattern)**:解耦抽象部分与它的实现部分,使两者能够独立变化。
- **外观模式 (Facade Pattern)**:对外隐藏系统的内部复杂性,并向客户端提供简单易用的接口。
- **享元模式 (Flyweight Pattern)**:运用共享技术有效地支持大量细粒度的对象。
- **组合模式 (Composite Pattern)**:让用户能一致地对待单个对象和复合对象集合。
#### 行为型模式
行为型模式专注于描述算法、分配职责及通信机制。它们帮助开发者更好地管理软件中的交互逻辑。以下是典型的行为型模式:
- **策略模式 (Strategy Pattern)**:定义了一系列算法,并将其一个个封装起来,使其相互之间可以互换使用。
- **观察者模式 (Observer Pattern)**:当某个主体的状态发生改变时通知依赖于此主体的所有对象并自动更新它们。
- **命令模式 (Command Pattern)**:把请求封装成对象的形式,从而可以用参数化的方式延迟执行操作或者排队调用。
- **责任链模式 (Chain of Responsibility Pattern)**:避免请求发送者与接收者的耦合关系;客户只需将请求交给链上的第一个节点即可。
- **状态模式 (State Pattern)**:允许对象在其内部状态发生变化的时候调整自己的行为。
- **模板方法模式 (Template Method Pattern)**:在一个方法中定义了算法框架,而某些步骤则由子类去完成。
- **迭代器模式 (Iterator Pattern)**:提供了遍历聚合元素的方法而不暴露底层数据结构。
- **中介者模式 (Mediator Pattern)**:用来减少各个同事类间的互相引用,降低模块间耦合程度。
- **解释器模式 (Interpreter Pattern)**:对于简单的语法表达式解析非常有用,适用于需要频繁修改语法规则的应用场景。
- **备忘录模式 (Memento Pattern)**:保存一个对象的某种状态,在适当时候恢复此状态。
- **访问者模式 (Visitor Pattern)**:能够在不更改原有类的情况下为其添加新的功能[^4]。
阅读全文