1,工厂模式
工厂模式封装了对象创建的过程,使用者不需要关心对象创建的细节。工厂模式分为三种:简单工厂模式,工厂方法模式和抽象工厂模式。在编码中该模式通常都以Factory的形式呈现。
Spring中的BeanFactory就是简单工厂模式的体现,我们可以根据beanName在BeanFactory中获取bean对象;而Spring中的FactoryBean就是工厂方法模式的体现,我们可以通过FactoryBean接口并实现其gerObject方法来定义Bean对象。
2,单例模式
单例模式是最常用的一种设计模式,他可以确保某一个类只有一个实例,并提供一个全局访问点来访问该实例。
在Spring中,Bean的作用域默认是单例的,它是通过单例池来确保在Spring容器中只会存在一个对象实例。
3,代理模式
代理模式主要是通过创建一个代理对象来实现对目标对象的访问,以达到保护和增强目标对象的目的,代理模式有两种具体实现:静态代理和动态代理。
Spring中的AOP就是基于JDK和CGLiB这两种动态代理实现的。
4,适配器模式
适配器模式可以作为两个不兼容的接口之间的桥梁,它可以使的原本由于接口不兼容而不能一起工作的类可以一起工作,在编码中该模式通常以Adapter的形式呈现。
Spring Aop中的AdvisorAdapter类,Spring MVC中的HanderAdapter接口,就是适配器模式的典型体现
5,责任链模式
责任连模式为请求创建了一个接收者对象的连,在这种模式中,通常每个接收者都包含对 另一个接收者的引用,如果一个对象不能处理该请求,那么他会把相同的请求传给下一个接受者,依次类推,在编码中该模式通常以Chain的形式呈现。
Spring MVC中的HanlerExecutionChain类,就使用到了责任链模式。
6,观察者模式
观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。
Spring中的事件监听机制是观察者模式的典型应用,如ApplicationListener。
7.模版模式
模版模式就是抽象父类提供一套定义好的方法供子类调用,而其中的某些方法子类根据自己的情况进行定制,就好像平时用模版写东西一样,但是内容却各不相同,在编码中该模式通常以Template的形式呈现。
SpringJDBC中的 JdbcTemplate,Spring中的TransactionTemplate就是模版模式的体现。
Spring中用到了哪些设计模式
最新推荐文章于 2024-08-21 06:26:23 发布