Spring 框架中用到的设计模式。常见设计模式总结以及其作用简要说明

Spring 框架中使用了许多设计模式,以下列举⼀些⽐较重要的:

重点 :单例、代理、⼯⼚、责任链

1、单例模式:

Spring 的 Bean 默认是单例模式,通过 Spring 容器管理 Bean 的⽣命周期,保证每个 Bean 只被创建⼀次,并在整个应⽤程序中重⽤。

2、⼯⼚模式:

Spring 使⽤⼯⼚模式通过 BeanFactory ApplicationContext 创建并管理 Bean 对象。

3、代理模式:

Spring AOP 基于动态代理技术,使⽤代理模式实现切⾯编程,提供了对 AOP 编程的⽀持。

4、观察者模式:

Spring 中的事件机制基于观察者模式,通过ApplicationEventPublisher 发布事件,由ApplicationListener 监听事件,实现了对象间的松耦合。

5、模板⽅法模式:

Spring 中的 JdbcTemplate 使⽤了模板⽅法模式,将⼀些固定的流程封装在⽗类中,⼦类只需实现⼀些抽象⽅法即可。

6、策略模式:

Spring 中的 HandlerInterceptor 和 HandlerExecutionChain 使⽤了策略模式,允许开发者⾃定义处理器拦截器,按照⼀定顺序执⾏。

7、责任链模式:

Spring 中的过滤器和拦截器使⽤了责任链模式,多个过滤器和拦截器按照⼀定顺序执⾏,每个过滤器和拦截器可以拦截请求或者响应并做出相应的处理。

Spring 框架中充分利⽤了许多设计模式,可以良好的扩展性和灵活性,降低代码的耦合度,提⾼代码的可维护性

补课:一些常见的设计模式及其简要说明:

1. 单例模式 (Singleton Pattern)

作用: 确保一个类只有一个实例,并提供全局访问点。
示例: 常用于数据库连接、日志记录器等。

2. 工厂模式 (Factory Pattern)

作用: 封装对象的创建过程,客户端无需直接创建对象,而是通过工厂方法获取对象。
示例: 常用于创建不同类型的对象,如各种产品对象。

3. 抽象工厂模式 (Abstract Factory Pattern)

作用: 提供一个接口,用于创建一组相关或依赖的对象,而不需要指定具体的类。
示例: 用于创建不同操作系统的界面组件。

4. 建造者模式 (Builder Pattern)

作用: 将一个复杂对象的构建过程分解为多个简单步骤,使得客户端可以灵活地构建对象。
示例: 常用于创建具有多个配置选项的对象。

5. 原型模式 (Prototype Pattern)

作用: 通过复制现有对象来创建新对象,避免了直接实例化。
示例: 常用于创建相似但有些差异的对象。

6. 适配器模式 (Adapter Pattern)

作用: 将一个接口转换成另一个客户端期望的接口,使不兼容的类可以一起工作。
示例: 用于兼容不同版本或接口的类。

7. 装饰器模式 (Decorator Pattern)

作用: 动态地给对象添加新功能,而不需要修改其原始代码。
示例: 用于扩展对象的行为,如添加日志记录、加密等功能。

8. 观察者模式 (Observer Pattern)

作用: 定义一种一对多的依赖关系,当一个对象状态发生改变时,其所有依赖对象都会得到通知并自动更新。
示例: 用于实现事件处理、消息通知等。

9. 策略模式 (Strategy Pattern)

作用: 定义一系列算法,将其封装成独立的策略类,使得算法可以相互替换,客户端可以灵活选择使用的策略。
示例: 用于实现不同的排序算法、计算方式等。

10. 责任链模式 (Chain of Responsibility Pattern)

作用: 将请求传递给一系列处理者,每个处理者决定是否处理请求,从而形成一个处理链。
示例: 用于处理请求的逻辑链,如权限验证、日志记录等。

11. 模板方法模式 (Template Method Pattern)

作用: 定义一个算法的骨架,将具体步骤延迟到子类中实现,以便子类可以改变算法的某些步骤而不改变其结构。
示例: 用于定义通用的算法流程,如图形界面组件的生命周期。

你可能感兴趣的:(技术博文,spring,设计模式,java)