CSDN的博客栏目的维修终于结束了!
在前面的文章中,我们知道为了实现程序的可维护,可扩展,灵活性更高,能够复用,只是简单的封装与
继承是不够的,而是要通过一些设计模式来降低程序的耦合度.
那么,到底何为设计模式呢?
说到底设计模式也就是一种解决问题一种思路、方案,只是这种方案经过反复的论证适用于一个
实践环境,放之四海而皆准!
以GOF设计模式为准, 设计模式可以分为三大类:
创建型设计模式、行为型设计模式、结构型设计模式
以下为引用:
GoF模式在粒度和抽象层次上各有不同,分类很明显。
1.根据目的准则分类
就是说,指定的模式用来完成什么样的工作。可分为三种:
(1) Creational (创建型):与对象创建有关。
(2) Structural (结构型):处理类或对象的组合。
(3) Behavioral (行为型):描述类或对象如何交互及如何分配职责。
2.根据范围准则分类
即指定的模式用于类还是用于对象,分为两种:
(1) 类模式:用于处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时就已经确定下来了。因为从某种意义上说,几乎所有模式都是使用继承机制,因此此处的“类模式”是指集中处理类间关系的模式,只有很少部分模式属于此类。
(2) 对象模式:用于处理对象间的关系,这些关系具有动态性,在运行期间是可以变化的。
范围\目的 | Creational (创建型) | Structural (结构型) | Behavioural (行为型) |
类 | Simple Factory | Adapter (class) | Interpreter |
Factory Method | Template method | ||
对象 | Abstract Factory | Adapter (object) | Chain of Responsibility |
Builder | Bridge | Command | |
Prototype | Composite | Iterator | |
Singleton | Decorator | Mediator | |
Facade | Memento | ||
Flyweight | Observer | ||
Proxy | State | ||
Strategy | |||
Visitor |