生成器设计模式(Builder Design Pattern)

来源:互联网 发布:阿里云 系统升级 编辑:程序博客网 时间:2024/05/01 22:28

 

生成器设计模式(Builder Design Pattern)

1>.意图

       将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

2>.适用场景

由于显示数据的不同而完全不同的用户界面,例如:E-mail地址簿,既有个人信息也有其它的信息。

3>.特点

       1 生成器允许读者改变产品的内部表示,同时也隐藏了产品如何组装的细节。

2 每个特定的生成器都独立于其他的生成器,同时独立于程序的其他部分,这一点提高了对象的模块性,并使添加其他的生成器变得相对简单。

3 由于每个生成器是根据数据一步一步构建最终结果的,所以能精确的控制生成器构建的每一个结果。

 

4>.类图

 

 

1>.Builder参与者

       规定产生对象实例的接口。包括产生对象实例各个部分的方法和取得最后结果的方法。

2>.ConcreteBuilder

       实现Builder参与者的接口的类。在实际产生对象实例时所调用的方法就是在这里定义的。

3>.Director(监工)

       利用Builder参与者的接口(API)产生对象实例。为了让ConcreteBuilder参与者无论在什么情况下都能正常发挥功能,所以只使用Builder参与者的方法。

4>.Client(客户)

5.实例

 

 

 

  

生成器模式有点类似于抽象工厂模式,两者都返回由许多方法和对象组成的类。他们之间的主要差别是:抽象工厂返回的是一系列相关的类,而生成器是根据提供给他的数据一步一步的构建一个复杂的对象。

 

原创粉丝点击