UML类图¶
基础¶

example¶
这里以设计模式中的生成器模式为例:

-
Builder:抽象接口类;生成器,包含生成产品的各个步骤 -
成员函数:
reset():(public)释放资源便于重新生成对象,以防止在提供一个对象时一个相同的对象在构造(确保只有一个对象)buildStepA():(public)生成器中的步骤一buildStepB():(public)生成器中的步骤二buildStepZ():(public)生成器中的步骤三
-
Concrete Builder1:具象建造者,继承于Builder -
成员变量:
result:(private)类型为Product 1,表示生成的产品为Product 1
-
成员函数:
reset():(public)同上
result = new Product1()-
buildStepA():(public)具象生成器中的步骤一 -
buildStepB():(public)具象生成器中的步骤二
result.setFeatureB()-
buildStepZ():(public)具象生成器中的步骤三 -
getResult():(pubilc)类型为product 1,表示取出Product 1
return this->result -
Concrete Builder2:同上 -
Director:主管类,负责接收用户委托,指定生成器进行生产,产品由客户自行接收(有些情况下不是必须的) -
成员变量:
builder:(private)类型为Builder,表示主管有此生成器
-
成员函数:
Director(builder):(pubilc)构造函数需要传入生成器作为参数,表示接收用户委托changeBuilder(builder):(public)表示根据用户意愿改变生成器,具体实现为重写builder中的某些函数make(type):(public)根据样式安排生成器制造需要的产品(即按照需求只进行必要的步骤)
-
Client:客户 -
可以选择将需求委托给主管类
-
也可以选择自己找生成器进行制造