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):

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

相关推荐
lzb_kkk7 分钟前
【JavaEE】文件io
java·开发语言·java-ee·1024程序员节
yang_shengy8 分钟前
【JavaEE】多线程(1)
java·开发语言·jvm·java-ee
果壳~10 分钟前
【Java】SpringBoot模拟流式输出,前端使用流式接收数据并打印
java·前端·spring boot
only-lucky11 分钟前
QT之QML从入门到精通(第七章)
java·数据库·qt
带刺的坐椅17 分钟前
Solon MVC 的 @Mapping 用法说明
java·mvc·ioc·solon
飞滕人生TYF18 分钟前
java Arrays 详解
java·python·排序算法
xisai8822 分钟前
2025年开考科目有哪些?
java·开发语言·javascript·算法·kotlin
想花25 分钟前
源码分析Spring Boot (v3.3.0)
java·spring boot·后端
陶然同学34 分钟前
RabbitMQ轻松构建高效可靠的消息队列系统
java·网络·分布式·rabbitmq·mq
李小白662 小时前
二叉树的练习题(中)
java·数据结构·算法