Spring框架中使用的设计模式

110 阅读1分钟
  1. 单例模式(Singleton Pattern): Spring的IoC容器管理的对象默认为单例,确保一个类只有一个实例,并提供一个全局访问点。
  2. 工厂模式(Factory Pattern): Spring使用工厂模式通过BeanFactory和ApplicationContext创建对象,将对象的创建过程封装在工厂中,降低了对象之间的耦合性。
  3. 原型模式(Prototype Pattern): Spring的原型作用域(prototype scope)允许在每次注入时创建一个新的实例,类似于原型模式。
  4. 适配器模式(Adapter Pattern): Spring AOP中的通知(Advice)使用了适配器模式,将通知适配到目标对象的连接点上。
  5. 代理模式(Proxy Pattern): Spring AOP通过代理模式实现横切关注点的功能,包括JDK动态代理和CGLIB代理。
  6. 观察者模式(Observer Pattern): Spring的事件驱动机制基于观察者模式,通过ApplicationEvent和ApplicationListener实现事件的发布和订阅。
  7. 模板方法模式(Template Method Pattern): Spring中的JdbcTemplate和HibernateTemplate等模板类使用了模板方法模式,定义了执行流程的骨架,具体实现由子类完成。
  8. 策略模式(Strategy Pattern): Spring的资源访问策略(ResourceLoader)、环境配置策略等使用了策略模式。
  9. 装饰器模式(Decorator Pattern): Spring AOP中的增强器(Advisor)使用了装饰器模式,对目标对象进行装饰以添加额外的行为。
  10. 迭代器模式(Iterator Pattern): Spring框架中的集合类(如List、Set)都实现了迭代器模式,提供了统一的迭代方式。