软件设计
48
上 海 电 机 学 院 学 报
2006年第5期
设计模式依据其目的可分为创建型、结构型、行
为型3种。创建型模式与创建的对象有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。根据模式是用于类还是用于对象,可将其分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时便确定下来了;对象模
式处理对象间的关系,这些关系在运行时是可以变化的,更具动态性。类模式只指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。 还有一种方式是根据模式的“相关模式”部分所描述的它们怎样互相引用来组织设计模式。图1给出了模式关系的图形说明
。
图1 23种设计模式间关系示意图
Fig.1 Diagramoftherelationamong23kindsofdesignpatterns
3.1 创建型设计模式3.2 结构型设计模式
创建型模式与对象的创建有关,即描述怎样创建一个对象,它隐藏对象创建的具体细节,使程序代
码不依赖具体的对象。因此,当增加一个新对象时几乎不需要修改代码即可。创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中。创建型类模式有FactoryMethod(工厂方法)模式;创建型对象模式包括Ab2stractFactory(抽象工厂)、Builder(生成器)、Proto2type(原型)、Singleton(单件)4种模式。
结构型模式处理类或对象的组合,即描述类和对象之间怎样组织起来形成大的结构,从而实现新的功能。结构型类模式采用继承机制来组合类,如
Adapter(适配器类)模式;结构型对象模式则描述了对象的组装方式,如Adapter(适配器对象)模式、Bridge(桥接)模式、Composite(组合)模式、Decora2tor(装饰)模式、Facade(外观)模式、Flyweight(享
元)模式、Proxy(代理)模式。3.3 行为型设计模式
行为型设计模式描述算法以及对象之间的任务