java常用设计模式

单例模式(Singleton Pattern):

确保一个类只有一个实例,并提供一个全局访问点。它通常通过私有化构造函数、使用一个静态变量来保存类的唯一实例,并提供一个公共的静态方法来获取这个实例。

工厂模式(Factory Pattern):

定义一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。在 Java 中,这通常通过定义一个创建对象的接口或抽象方法,并在子类中实现该方法来完成。

观察者模式(Observer Pattern):

定义对象间的一种一对多的依赖关系,当一个对象改变状态时,其所有依赖者都会收到通知并自动更新。这通常通过维护一个观察者列表并在对象状态改变时遍历这个列表来通知所有观察者。

原型模式(Prototype Pattern):

通过复制现有实例来创建新的对象。它允许动态地增加或减少产品类,且无须修改客户端代码。在 Java 中,这可以通过实现 Cloneable 接口并重写 clone() 方法来完成。

建造者模式(Builder Pattern):

将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。它通常通过一个建造者类来逐步构建对象,并最终返回构建好的对象。

代理模式(Proxy Pattern):

为其他对象提供一种代理以控制对这个对象的访问。它通常通过创建一个代理类来实现,该类包含对实际对象的引用,并可以在访问实际对象之前或之后添加额外的行为。

适配器模式(Adapter Pattern):

将一个类的接口转换成客户端希望的另一个接口。它通常通过创建一个适配器类来实现,该类实现了客户端期望的接口,并在内部使用需要适配的类的实例。

装饰器模式(Decorator Pattern):

动态地给一个对象添加一些额外的职责。它通常通过创建一个装饰器类来实现,该类包装了原始对象,并可以在调用原始对象的方法之前或之后添加额外的行为。

策略模式(Strategy Pattern):

定义了一系列算法,并将每一个算法封装起来,使它们可以互换。它通常通过定义一个策略接口,并让不同的算法实现这个接口来完成。客户端可以通过设置不同的策略对象来改变算法的行为。

模板方法模式(Template Method Pattern):

在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中实现。它通常通过在一个抽象类中定义模板方法,并在该方法中调用一些抽象方法或钩子方法来完成。子类可以通过重写这些抽象方法或钩子方法来提供具体的实现。

相关推荐
陈文锦丫8 小时前
MQ的学习
java·开发语言
乌暮8 小时前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛118 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven979 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖9 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主9 小时前
Thread及其相关类
java·开发语言
Coder_Boy_9 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_768350239 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
派大鑫wink9 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法