经典的设计模式有23种。他们可以分为三大类
-
创建型
主要解决:对象的创建问题
解耦:将创建和使用代码解耦
常用:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式
不常用:原型模式 -
结构型
主要解决:类或对象的组合或组装问题
解耦:将不同功能代码解耦
常用:代理模式、桥接模式、装饰者模式、适配器模式
不常用:门面模式、组合模式、享元模式 -
行为型
主要解决:类或对象之间的交互问题
解耦:将不同的行为代码解耦
常用:观察者模式、模板模式、策略模式、责任链模式、迭代器模式、状态模式
不常用:访问者模式、备忘录模式、命令模式、解释器模式、中介模式
总结
每个设计模式都应该由两部分组成:
一是应用场景,即这个模式可以解决哪类问题;
二是解决方案,即这个模式的设计思路和具体的代码实现。
不过代码实现并不是模式必须包含的。如果单纯地只关注解决方案这一部分,甚至只关注代码实现,就会产生大部分模式看起来都很相似的错觉。实际上,设计模式之间的主要区别还是在于设计意图,也就是应用场景。
网友评论