Spring中都用到了哪些设计模式

2020-04-08  本文已影响0人  不知名的蛋挞

工厂设计模式(简单工厂和工厂方法)

Spring使用工厂模式可以通过BeanFactory或ApplicationContext创建bean对象。

单例设计模式

Spring中bean的默认作用域就是singleton。除了singleton作用域,Spring bean还有下面几种作用域:

代理设计模式

Spring AOP就是基于动态代理的,如果要代理的对象,实现了某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用JDK Proxy去进行代理了,这时候Spring AOP会使用Cglib,这时候Spring AOP会使用Cglib生成一个被代理对象的子类来作为代理。

模板方法设计模式

Spring中jdbcTemplate、hibernateTemplate等以Template结尾的对数据库操作的类,它们就使用到模板模式。

观察者设计模式

观察者设计模式是一种对象行为模式。它表示的是一种对象与对象之间具有依赖关系,当一个对象发生改变时,这个对象锁依赖的对象也会做出反应。

Spring事件驱动模型就是观察者模式很经典的应用。

适配器设计模式

适配器设计模式将一个接口转换成客户希望的另一个接口,适配器模式使得接口不兼容的那些类可以一起工作,其别名为包装器。在Spring MVC中,DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler,解析到对应的Handler(也就是我们常说的Controller控制器)后,开始由HandlerAdapter适配器处理。为什么要在Spring MVC中使用适配器模式?Spring MVC中的Controller种类众多不同类型的Controller通过不同的方法来对请求进行处理,有利于代码的维护拓展。

上一篇 下一篇

猜你喜欢

热点阅读