阐述23种设计模式的分类,并举例
设计模式一共分三种类型的模式:创建型模式,结构性模式和行为型模式。
1.创建型模式,与对象创建有关,涉及到对象的实例化。
如:单例模式、抽象工厂模式、建造者模式、工厂方法模式、原型模式。
2.结构型模式,指对象间通过组装得到新的结构。
如:适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式、代理模式。
3.行为型模式,和对象间的互动有关。
如:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
简述设计模式及其必要性
1.什么是设计模式
普遍回答:设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
2.为什么要用设计模式
答:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性和扩展性。但也不要过于套用设计模式,使得原本简单的设计复杂化。
简述简单工厂模式,工厂方法模式和抽象工厂模式
1.简单工厂模式图
2.工厂方法模式图
3.抽象工厂模式
工厂模式和抽象工厂模式的区别:
(1)工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
(2)抽象工厂中客户端把产品的抽象关系理清楚,在最终使用的时候,一般使用客户端(和其接口),产品之间的关系是被封装固定的;而工厂方法是在最终使用的时候,使用产品本身(和其接口)。
(3)抽象工厂的工厂是类,工厂方法的工厂是方法。
简单工厂模式和工厂模式的区别:
(1)
Spring框架中都用了哪些设计模式
参考链接: