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

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

相关推荐
lybugproducer10 分钟前
创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式
java·设计模式·建造者模式·简单工厂模式·工厂方法模式·抽象工厂模式·面向对象
南客先生14 分钟前
马架构的Netty、MQTT、CoAP面试之旅
java·mqtt·面试·netty·coap
Minyy1117 分钟前
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
xml·java·spring boot·后端·spring·mybatis·logback
百锦再17 分钟前
Java与Kotlin在Android开发中的全面对比分析
android·java·google·kotlin·app·效率·趋势
武昌库里写JAVA1 小时前
39.剖析无处不在的数据结构
java·vue.js·spring boot·课程设计·宠物管理
Nelson_hehe4 小时前
Java基础第四章、面向对象
java·语法基础·面向对象程序设计
Thomas_YXQ4 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
ShiinaMashirol5 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
东阳马生架构6 小时前
Nacos简介—3.Nacos的配置简介
java
北极的企鹅886 小时前
XML内容解析成实体类
xml·java·开发语言