标签:创建过程 bst enum 抽象工厂 算法 void print lock builder
创建型
在软件系统中,有时候面临一个"复杂对象"的创建工作,其通常由各个部分的子对象用一定算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合到一起的算法却相对稳定.
与抽象工厂不同的是,他只创建一个对象,只是把创建过程分开了.同时需要一个客户程序来指挥创建过程(先创建什么部分,创建几个).抽象工厂的对象是相互之间是有关系的(引用),Builder中创建各个部分组成一个整体对象.
将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(变化)
//创造器(抽象)public abstract class Builder{public abstract void BuildDoor();public abstract void BuildWall();public abstract void BuildWindows();public abstract void BuildFloor();public abstract void BuildHouseCeiling();public abstract House GetHouse();}//最终的产品(抽象)public abstract class House{}//指挥者public class Director{public void Construct(Builder builder){//"组合到一起的算法/创建算法"是稳定的//顺序和数量等都是可定制的builder.BuildWall();builder.BuildWall();builder.BuildHouseCeiling();builder.BuildDoor();builder.BuildWindows();builder.BuildFloor();}}public static void Main(){//可以采取动态的方式,修改构造函数构造的创造器Director direc=new Director(new MyBuilder());}
变化 
对象各个部分内部实现
不变 
对象创建算法,对象部分的个数
标签:创建过程 bst enum 抽象工厂 算法 void print lock builder
原文地址:http://www.cnblogs.com/Recoding/p/7160161.html