设计模式面试题整理

说下你知道的设计模式都有哪些

创建型模式:单例模式、工厂模式、建造者模式
结构性模型:适配器模式、桥接模式、装饰模式、代理模式
行为性模式:模板方法模式、观察者模式、策略模式

JDK中用到了哪些设计模式

几乎每一种设计模式都被用到了JDK的源码中,下面列举一些常见的:
(1)抽象工厂模式
javax.xml.parsers.DocumentBuilderFactory#newInstance()
javax.xml.transform.TransformerFactory#newInstance()
(2)建造者模式
java.lang.StringBuilder#append()
java.lang.StringBuilder#append()
(3)原型模式
java.lang.Object#clone()
(4)适配器模式
java.util.Arrays#asList()
java.util.Collections#list()
(5)享元模式
java.lang.Integer#valueOf(int)

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

(1)单例设计模式:Spring中的Bean默认都是单例的。
(2)代理设计模式:Spring AOP的实现功能。
(3)工厂设计模式:Spring使用工厂模式经过BeanFactory、ApplicationContext建立Bean对象;
(4)模板方法模式:Spring中jdbcTemplate、hibernateTemplate等以Template结尾的对数据库操作的类,它们就使用到了模板模式。
(5)装饰器设计模式:项目需要连接多个数据库,并且不一样的客户在每次访问中需要访问不一样的数据库,这种模式可以根据客户的需求动态切换不一样的数据源。
(6)观察者模式:Spring事件驱动模式就是观察者模式很经典的一个应用。
(7)适配器模式:Spring AOP的加强或者通知(Advice)使用到了适配器模式、SoringMVC中也是用到了适配器模式适配到了Controller。

猜你喜欢

转载自blog.csdn.net/weixin_49131718/article/details/131664668