23种经典设计模式详解:创建型、结构型、行为型模式在Java开发中的应用

你好呀,我是猿java。

23种经典设计模式详解:创建型、结构型、行为型模式在Java开发中的应用

设计模式在前端开发和后端开发中都很常见,在求职面试中似乎总能看到它的身影。作为 Java 后端人员,能深刻体会到它的重要性。JDK 源码以及 Spring 等流行的开源框架,都离不开设计模式。

今天,我们来分享 23 种经典的设计模式。同时,我们也来探讨一下 JDK 中蕴藏了哪些经典的模式。

设计模式的分类

经典设计模式有 23 种,按照其目的来划分的话,可以分成三类。一类是创建型模式,一类是结构型模式,还有一类是行为型模式。

创建型模式有 5 种,结构型模式有 7 种,行为型模式有 11 种,且对这些设计模式进行了详解,其中包括单例模式。

一个类仅能创建一个实例或者对象。单例模式较为简单,常见的实现方式有 3 种:

饿汉式(Eager Initialization):

在类加载的过程中创建实例,以此来确保在多线程的环境当中能够正常地进行工作。以下是示例代码:

懒汉式(Lazy Initialization):

与饿汉式模式情况相反,懒汉式并非在类加载的时候就创建实例,而是要在首次使用的时候才去创建实例,以下是示例代码:

懒汉式不能确保多线程情况下的线程安全性,通过双重检查的方式来缩小锁的范围并且保障线程安全。

一种在多线程环境中实现延迟初始化的技术,通过两次检查锁的状态来避免不必要的加锁操作,从而提高性能。它先检查对象是否已经初始化,如果没有则加锁进行初始化,初始化完成后再次检查以确保线程安全。这种技术在某些情况下可以提高程序的效率,但也存在一些并发问题需要注意和解决。

枚举

枚举是天然的单例模式,并且这也是 Effective Java 所建议的方式,以下是示例代码:

JDK 源码里的设计模式参考

Java 的核心库中存在 GoF 设计模式的相关例子。

交流学习

最后,将猿哥的座右铭赠予你:投资自己乃是最大的财富。因为自身水平有所局限,倘若文章存在不足之处与错误,欢迎提出批评并予以指正。感谢你将其转发给更多的好友,同时关注我:猿 java,我会为你呈现更多的硬核文章。

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

24阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读