(设计模式概念和分类)
概念
设计模式一般是指软件开发人员在开发的时候遇到软件设计问题时的一般解决方案,这样当我们遇到重复问题的时候,就能够一次一次地使用该方案而避免了重复劳动。并且可以提高代码的可重用性和可读性,增强系统的可靠性和可维护性,解决一系列的复杂问题,提高协作效率。 简单来说,设计模式的概念就是 可重复使用的、高效的、易读的、有目标性的、高可移植性经验总结模板。
分类
针对不同问题,设计模式也可以分为三大类
创造型模式 | 结构型模式 | 行为型模式 |
---|---|---|
工厂方法模式(Factory Method) | 适配器模式(Adapter) | 责任链模式(Chain of Responsibility) |
抽象工厂模式(AbstractFactory) | 桥接模式(Bridge) | 命令模式(Command) |
创建者模式(Builder) | 组合模式(Composite) | 解释器模式(Interpreter) |
原型模式(Prototype) | 装饰模式(Decorator) | 迭代器模式(Iterator) |
单例模式(Singleton) | 外观模式(Facade) | 中介者模式(Mediator) |
享元模式(Flyweight) | 备忘录模式(Memento) | |
代理模式(Proxy) | 观察者模式(Observer) | |
状态模式(State) | ||
策略模式(Strategy) | ||
模板方法模式(TemplateMethod) | ||
访问者模式(Visitor) |
-
创造型模式
创建型设计模式抽象了实例化的过程,帮助系统独立于如何创建、整合它其中的对象以其职责。如一个类创建型模式使用继承改变实例化的类,而一个对象创建型模式将实例化委托给另一个对象,主要体现在对象的创建
-
结构型模式
结构型设计模式采用继承机制来组合系统接口,比如采用多重继承的方式将两个以上的类组合成一个大类,这个大类包含了所有父类的性质,有助于多个独立开发的类进行协同工作。
-
行为型模式
行为型设计模式不仅描述对象或类的模式,还描述它们之间的通信模式,显现他们在运行时复杂的控制环节,将难以理解的控制流体思路转换成不同对象之间的联系思路。