五华网站建设,wordpress网站扫描工具,vps怎么搭建wordpress,销售型企业有哪些公司文章目录简单工厂模式#xff1a;工厂模式#xff1a;单例模式#xff1a;原型模式#xff1a;迭代器模式#xff1a;代理模式#xff1a;适配器模式#xff1a;观察者模式#xff1a;模板模式#xff1a;责任链模式#xff1a;这是一道相对有难度的题目#xff0c;…
文章目录简单工厂模式工厂模式单例模式原型模式迭代器模式代理模式适配器模式观察者模式模板模式责任链模式这是一道相对有难度的题目你不仅要回设计模式还要知道每个设计模式在Spring中是如何使用 的。
简单工厂模式
Spring 中的 BeanFactory 就是简单工厂模式的体现。根据传入一个唯一的标识来获得 Bean 对象但是在传入参数后创建还是传入参数前创建要根据具体情况来定。
工厂模式
Spring 中的 FactoryBean 就是典型的工厂方法模式实现了 FactoryBean 接口的 bean是一类叫做 factory 的 bean。其特点是spring 在使用 getBean() 调用获得该 bean 时会自动调用该 bean 的 getObject() 方法所以返回的不是 factory 这个 bean而是这个 bean.getOjbect()方法的返回值。
单例模式
在 spring 中用到的单例模式有 scope“singleton” 注册式单例模式bean 存放于Map 中。bean name 当做 keybean 当做 value。
原型模式
在 spring 中用到的原型模式有 scope“prototype” 每次获取的是通过克隆生成的新实例对其进行修改时对原有实例对象不造成任何影响。
迭代器模式
在 Spring 中有个 CompositeIterator 实现了 IteratorIterable 接口和 Iterator 接口这两个都是迭代相关的接口。可以这么认为实现了 Iterable 接口则表示某个对象是可被迭代的。Iterator 接口相当于是一个迭代器实现了 Iterator 接口等于具体定义了这个可被迭代的对象时如何进行迭代的。
代理模式
Spring 中经典的 AOP就是使用动态代理实现的分 JDK 和 CGlib 动态代理。
适配器模式
Spring 中的 AOP 中 AdvisorAdapter 类它有三个实现MethodBeforAdviceAdapter、AfterReturnningAdviceAdapter、ThrowsAdviceAdapter。Spring会根据不同的 AOP 配置来使用对应的 Advice与策略模式不同的是一个方法可以同时拥有多个Advice。Spring 存在很多以 Adapter 结尾的大多数都是适配器模式。
观察者模式
Spring 中的 Event 和 Listener。spring 事件ApplicationEvent该抽象类继承了EventObject 类JDK 建议所有的事件都应该继承自 EventObject。spring 事件监听器ApplicationListener该接口继承了 EventListener 接口JDK 建议所有的事件监听器都应该继承EventListener。
模板模式
Spring 中的 org.springframework.jdbc.core.JdbcTemplate 就是非常经典的模板模式的应用里面的 execute 方法把整个算法步骤都定义好了。
责任链模式
DispatcherServlet 中的 doDispatch() 方法中获取与请求匹配的处理器HandlerExecutionChainthis.getHandler() 方法的处理使用到了责任链模式。 注意这里只是列举了部分设计模式其实里面用到了还有享元模式、建造者模式等。可选择性的 回答主要是怕你回答了迭代器模式然后继续问你结果你一问三不知那就尴了尬了。