java 常用的设计模式有几种 简略举例及什么意思
时间: 2024-03-30 07:40:39 浏览: 193
Java 常用的设计模式有 23 种,它们可以分为三类:创建型模式、结构型模式和行为型模式。
1. 创建型模式
创建型模式主要关注对象的创建过程,包括如何创建对象、如何表示对象,以及如何保证对象的合理性和有效性。
(1) 单例模式(Singleton Pattern)
单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个全局访问点。常见的实现方式有饿汉式和懒汉式。
(2) 工厂模式(Factory Pattern)
工厂模式是一种创建型模式,它提供一个工厂方法来创建对象,而不是直接使用 new 关键字。常见的实现方式有简单工厂模式、工厂方法模式和抽象工厂模式。
(3) 建造者模式(Builder Pattern)
建造者模式是一种创建型模式,它将复杂对象的构建过程分离出来,使得同样的构建过程可以创建不同的表示。
(4) 原型模式(Prototype Pattern)
原型模式是一种创建型模式,它通过克隆已有对象来创建新的对象。
(5) 抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式是工厂模式的扩展,它提供一个抽象的工厂接口,可以创建一系列相关的对象。
2. 结构型模式
结构型模式主要关注对象的组合和关联方式,包括如何组织对象并形成更大的结构、如何简化对象之间的依赖关系,以及如何使得对象的行为更加灵活和可扩展。
(1) 适配器模式(Adapter Pattern)
适配器模式是一种结构型模式,它将一个类的接口转换成客户希望的另一个接口。
(2) 桥接模式(Bridge Pattern)
桥接模式也是一种结构型模式,它将抽象部分和实现部分分离开来,使它们可以独立变化。
(3) 装饰器模式(Decorator Pattern)
装饰器模式是一种结构型模式,它动态地给一个对象添加一些额外的职责。
(4) 组合模式(Composite Pattern)
组合模式是一种结构型模式,它将对象组合成树形结构,以表示“部分-整体”的层次结构。
(5) 外观模式(Facade Pattern)
外观模式也是一种结构型模式,它为一组复杂的子系统提供一个统一的接口,使得这些子系统更易于使用。
(6) 享元模式(Flyweight Pattern)
享元模式是一种结构型模式,它利用共享技术来有效地支持大量细粒度的对象。
(7) 代理模式(Proxy Pattern)
代理模式是一种结构型模式,它为其他对象提供一种代理以控制对这个对象的访问。
3. 行为型模式
行为型模式主要关注对象之间的通信和协作方式,包括如何定义对象之间的消息传递机制、如何定义对象之间的协作关系,以及如何使得对象的行为更加灵活和可扩展。
(1) 责任链模式(Chain of Responsibility Pattern)
责任链模式是一种行为型模式,它将请求的发送者和接收者解耦,使得多个对象都有机会处理这个请求。
(2) 命令模式(Command Pattern)
命令模式是一种行为型模式,它封装了一个请求,使得可以将请求的发送者和接收者解耦。
(3) 解释器模式(Interpreter Pattern)
解释器模式是一种行为型模式,它定义了一种语言语法,以及一个解释器来解释执行这个语法。
(4) 迭代器模式(Iterator Pattern)
迭代器模式是一种行为型模式,它提供一种方法来访问聚合对象中的各个元素,而不暴露对象的内部表示。
(5) 中介者模式(Mediator Pattern)
中介者模式是一种行为型模式,它定义一个中介对象来封装一系列的对象交互。
(6) 备忘录模式(Memento Pattern)
备忘录模式是一种行为型模式,它在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
(7) 观察者模式(Observer Pattern)
观察者模式是一种行为型模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。
(8) 状态模式(State Pattern)
状态模式是一种行为型模式,它允许一个对象在其内部状态发生改变时改变它的行为。
(9) 策略模式(Strategy Pattern)
策略模式是一种行为型模式,它定义了一系列算法,将每个算法封装起来并使它们可以互换。
(10) 模板方法模式(Template Method Pattern)
模板方法模式是一种行为型模式,它定义了一个操作中的算法骨架,将一些步骤延迟到子类中实现。
以上是 Java 常用的设计模式及其简略举例及什么意思,每种设计模式都有自己的特点和应用场景,需要根据实际业务需求选择合适的模式。
阅读全文