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

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

相关推荐
用户3721574261352 分钟前
Java 查找并高亮 Word 文字:精确查找及正则表达式模糊查找
java
zyseo819 分钟前
谷歌SEO 站内搜索优化实战:把站内搜索词变成关键词金矿
java·服务器·数据库
bug菌27 分钟前
🤔同事突然问我:Spring的注解 @Component 和 @Service 有何不同?
java·spring boot·后端
佳児素花痴╮31 分钟前
线程知识点
java·开发语言·jvm
fundoit1 小时前
为什么需要 Access Token 和 ID Token 两个令牌
java·spring·架构·github·oauth2
鱼宵2 小时前
Spring AI 流式输出:Flux + SSE 打字机,回答不再干等三秒
java·人工智能·spring·sse·springai·流式输出
shaibdoio2 小时前
AI主动获客的意图识别工程实现:从规则匹配到模型微调
java·开发语言·人工智能·长沙瞬维ai
for_ever_love__2 小时前
MySQL 事务隔离级别讲透:MVCC、幻读与四个级别怎么选
java·数据库·mysql·事务·mvcc·不可重复读·幻读
CoderYanger3 小时前
一轮复习——F.动态规划模型总结(入门篇)
java·开发语言·数据结构·算法·leetcode·职场和发展·动态规划
她的男孩3 小时前
打印模板草稿能保存,一点发布就报主从关系:我们把校验拆成了两档
java·spring boot·后端