本文共 862 字,大约阅读时间需要 2 分钟。
建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示(过程是稳定的)。
从建造者模式的定义来看,肯定是一头雾水,说的都是什么跟什么呀!举个小例来理解下:当我们来实现一个画画的功能,要求画瘦的人和胖的人。画的过程是稳定的,即:头、胳膊、身体、腿都是必须的。而画的具体实现是不一样的,例如:头大、肚子大、腿长等。这时再去理解建造者模式的定义就简单多了。
UML图:
Builder抽象类中定义各个部分的方法的抽象方法(例:定义了画胳膊、画头、画腿等方法)。
ConcreteBuilder类是各种不一样具体表示,它具体实现了Builder中的方法,并且返回一个结果。(例:实现了具体画怎样的头、胳膊、腿等,并返回构造的这个人) product类是具体产品,即:要建造的产品。例:头、胳膊、腿等都是要建造人
代码:
执行:
static void Main(string[] args) { Director director = new Director(); ConcreteBuilderA a = new ConcreteBuilderA(); director.Construct(a); Object p = a.GetResult(); }
上述执行代码中,首先创建执行者类,再创建一个具体建造者类,然后由执行者类调用Construct方法去执行建造。而最后通过具体建造者类的GetResult方法获得了建造的结果。
本文转自武沛齐博客园博客,原文链接:http://www.cnblogs.com/wupeiqi/p/3355216.html,如需转载请自行联系原作者