UML软件工程组织

敏捷思维- 架构设计中的方法学(2)
作者:Michael Duell 著,Wu 译 本文选自:UlMChina 2002年08月22日

工厂方法(Factory Method)

工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉,将塑料注入到希望形状的模具中。玩具的类别(车,人物等等)是由模具决定的。

图3:使用注入成型为例子的工厂方法的对象图

原型(Prototype)举例

原型模式使用原型实例指定创建对象的种类。新产品的原型通常是先于全部产品建立的,这样的原型是被动的,并不参与复制它自己。一个细胞的有丝分裂,产生两个同样的细胞,是一个扮演主动角色复制自己原型的例子,这演示了原型模式。一个细胞分裂,产生两个同样基因型的细胞。换句话说,细胞克隆了自己。

图4:使用细胞分裂例子的原型模式对象图

单件(Singleton)举例

单件模式确保一个类仅有一个实例,并提供一个访问它的全局访问点。单件模式是模仿单集命名的,单集的定义是每个集合仅含有一个元素。美国总统的职位是单件,美国宪法规定了总统的选举,任期以及继任的顺序。这样,在任何时刻只能由一个现任的总统。无论现任总统的身份为何,其头衔"美利坚美利坚合众国总统"是访问这个职位的人的一个全局的访问点。

图5:使用总统例子的单件模式对象图

结构性模式

作者总结了七个结构型模式,这些模式的例子可以在工具、住宅配线、数学、节日传统、零售目录和银行业中找到。

适配器(Adapter)举例

适配器模式允许将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。扳手提供了一个适配器的例子。一个孔套在棘齿上,棘齿的每个边的尺寸是相同的。在美国典型的边长为1/2''和1/4''。显然,如果不使用一个适配器的话,1/2''的棘齿不能适合1/4''的孔。一个1/2''至1/4''的适配器具有一个1/2''的阴槽来套上一个1/2''的齿,同时有一个1/4的阳槽来卡入1/4''的扳手。

图6:使用扳手适配器例子的适配器对象图

桥接(Bridge)举例

桥接模式将抽象部分与它的实现分离,使它们能够独立地变化。一个普通的开关控制的电灯、电风扇等等,都是桥接的例子。开关的目的是将设备打开或关闭。实际的开关可以是简单的双刀拉链开关,也可以是调光开关。

图7:使用电子开关例子的桥接对象图

上一页 下一页



版权所有:UML软件工程组织