每日一题-spring中的设计模式
1、 spring中的设计模式
工厂模式(Factory Pattern):Spring使用工厂模式来创建和管理对象。通过ApplicationContext,Spring可以作为一个工厂,负责创建、初始化和返回应用程序所需的对象。
单例模式(Singleton Pattern):Spring默认创建的bean都是单例的,即在整个Spring IoC容器中,一个bean只会有一个实例。这有助于减少内存占用和简化对象之间的依赖关系。
代理模式(Proxy Pattern):Spring的AOP(面向切面编程)功能使用了代理模式。当一个对象需要被增强时,Spring会创建一个代理对象来包装原对象,并在调用原对象的方法时,插入额外的逻辑(如事务管理、安全检查等)。
模板方法模式(Template Method Pattern):Spring的JdbcTemplate、RedisTemplate等模板类都体现了模板方法模式。这些模板类提供了固定的方法逻辑,但允许用户自定义部分逻辑(如SQL语句或Redis命令)。
观察者模式(Observer Pattern):Spring的事件处理机制使用了观察者模式。当一个事件发生时,所有注册为该事件监听器的对象都会收到通知并可以执行相应的操作。
策略模式(Strategy Pattern):Spring的ResourceLoader接口及其实现类(如ClassPathResource、FileSystemResource等)体现了策略模式。不同的资源加载策略可以通过不同的实现类来实现,并在运行时根据需要进行选择。
装饰器模式(Decorator Pattern):虽然Spring本身没有直接使用装饰器模式,但装饰器模式的思想在Spring中有所体现。例如,Spring允许我们通过配置来动态地为bean添加额外的行为或属性,类似于装饰器模式中的动态增加功能。
适配器模式(Adapter Pattern):在Spring中,适配器模式通常用于将不兼容的接口转换为兼容的接口。例如,Spring的HandlerAdapter接口用于将不同的请求处理方法适配为统一的调用方式。
待补充完善。