源码项目中常见设计模式及实现

本文详细介绍了源码项目中常见的设计模式,包括单例模式(静态常量、双端检锁dcl)、建造者模式(在Spring中的运用)、工厂模式(简单工厂、工厂方法、抽象工厂以及在Mybatis和Spring中的应用)、策略模式(实现及其在SpringMVC中的应用)、模板方法模式(在HashMap、Spring和Mybatis中的使用)、责任链模式(在SpringMVC和sentinel中的使用)、代理模式(在Mybatis中的使用)以及适配器模式、观察者模式。这些模式在实际项目中起着关键作用,帮助实现代码的灵活性、可扩展性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文https://mp.weixin.qq.com/s/K8yesHkTCerRhS0HfB0LeA

单例模式

单例模式是指一个类在一个进程中只有一个实例对象(但也不一定,比如Spring中的Bean的单例是指在一个容器中是单例的)

单例模式创建分为饿汉式和懒汉式,总共大概有8种写法。但是在开源项目中使用最多的主要有两种写法:

1、静态常量方式属于饿汉式,以静态变量的方式声明对象。

这种单例模式在Spring中使用的比较多

举个例子,在Spring中对于Bean的名称生成有个类AnnotationBeanNameGenerator就是单例的。
在这里插入图片描述

2、双端检锁dcl

除了上面一种,还有一种双重检查机制在开源项目中也使用的比较多,而且在面试中也比较喜欢问。双重检查机制方式属于懒汉式,代码如下:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白鸽呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值