本文共 1952 字,大约阅读时间需要 6 分钟。
设计模式之五:建造者模式 http://www.taidous.com/thread-49124-1-1.html(出处: 【泰斗社区】-专注互联网游戏和应用的开发者平台)
建造者模式(Builder Pattern)也叫生成器模式: 定义:Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示) 建造者模式通常包括以下几个角色: 1、Builder : 给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建; 2、ConcreteBuilder:实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。在建造过程完成后, 提供产品的实例。 3、Director: 调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建 4、Product:要创建的复杂对象。 |
////// 产品类 /// public class Product { public void DoSomething() { //独立业务处理 } } ////// 抽象建造者 /// public abstract class Builder { //设置产品的不同部分,以获得不同的产品 public abstract void SetPart(); //建造产品 public abstract Product BuildProduct(); } ////// 具体建造者 /// public class ConcreateProduct : Builder { private Product product = new Product(); public void SetPart() { //产品内部逻辑处理 } //组建一个产品 public Product BuildProduct() { return product; } } ////// 导演类 /// public class Director { private Builder builder = new ConcreateProduct(); public Product GetAProduct() { builder.SetPart(); /* * 设置不同的零件,产生不同产品 */ return builder.BuildProduct(); } }