Spring 中有哪些设计模式?

单例模式: Spring 的 Bean 默认是单例模式,即一个 Bean 对象只会被创建一次并在整个应用中共享。这种方式可以提高性能和资源利用率。

工厂模式: Spring 使用工厂模式来创建和管理 Bean 对象,即通过 BeanFactory 或 ApplicationContext 等容器来创建和管理 Bean 对象。这种方式可以将对象的创建和管理解耦,并且可以灵活地配置和管理对象。

代理模式:Spring 使用代理模式来实现 AOP(面向切面编程),即通过代理对象来增强原始对象的功能。这种方式可以实现横切关注点的复用,并且可以在不修改原始对象的情况下实现功能增强。

观察者模式:Spring 使用观察者模式来实现事件驱动编程,即通过事件监听机制来处理事件。这种方式可以实现松耦合,使得对象之间的交互更加灵活。

模板方法模式:Spring 使用模板方法模式来实现 JdbcTemplate、HibernateTemplate 等模板类,即将相同的操作封装在模板方法中,而将不同的操作交给子类来实现。这种方式可以减少重复代码,提高代码的复用性。

适配器模式:Spring 使用适配器模式来实现不同接口之间的适配,如 Spring MVC 中的 HandlerAdapter 接口,可以将不同类型的 Controller 适配为统一的处理器。

策略模式:Spring 使用策略模式来实现不同的算法或行为,如 Spring Security 中的 AuthenticationStrategy 接口,可以根据不同的认证策略来进行认证。

装饰器模式:Spring 使用装饰器模式来动态地增加对象的功能,如 Spring MVC 中的 HandlerInterceptor 接口,可以在处理器执行前后添加额外的逻辑。

组合模式:Spring 使用组合模式来实现复杂的对象结构,如 Spring MVC 中的 HandlerMapping 接口,可以将多个 HandlerMapping 组合成一个 HandlerMapping 链。

迭代器模式:Spring 使用迭代器模式来访问集合对象中的元素,如 Spring 的 BeanFactory 和 ApplicationContext 等容器都提供了迭代器来访问其中的 Bean 对象。

注册表模式:Spring 使用注册表模式来管理对象的注册和查找,如 Spring 的 BeanDefinitionRegistry 接口可以用来注册和管理 Bean 对象的定义。

委托模式:Spring 使用委托模式来实现不同对象之间的消息传递,如 Spring 的 ApplicationEventMulticaster 接口可以将事件委托给不同的监听器进行处理。

状态模式:Spring 使用状态模式来管理对象的状态,如 Spring 的 TransactionSynchronizationManager 类可以根据不同的事务状态来进行处理。

解释器模式:Spring 使用解释器模式来解析和处理一些复杂的表达式和规则,如 Spring Security 中的表达式语言可以用来实现访问控制。

桥接模式:Spring 使用桥接模式来将抽象和实现分离,如 Spring JDBC 中的 DataSource 接口可以与不同的数据库实现进行桥接。


__EOF__

本文作者小崽子&
本文链接https://www.cnblogs.com/qizhiwei/p/17743502.html
关于博主:编程小萌新一名,希望从今天开始慢慢提高,一步步走向技术的高峰!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   小崽子&  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具
点击右上角即可分享
微信分享提示