技术开发 频道

创建型模式篇-建造者模式(Builder Pattern)


建造者模式的几种演化

    省略抽象建造者角色

    系统中只需要一个具体建造者,省略掉抽象建造者,结构图如下:


指导者代码如下:
1 class Director 2 { 3 private ConcreteBuilder builder; 4 5 public void Construct() 6 { 7 builder.BuildPartA(); 8 builder.BuildPartB(); 9 } 10 }
省略指导者角色

抽象建造者角色已经被省略掉,还可以省略掉指导者角色。让Builder角色自己扮演指导者与建造者双重角色。结构图如下: 
 


建造者角色代码如下:

1 public class Builder 2 { 3 private Product product = new Product(); 4 5 public void BuildPartA() 6 { 7 // 8 } 9 10 public void BuildPartB() 11 { 12 // 13 } 14 15 public Product GetResult() 16 { 17 return product; 18 } 19 20 public void Construct() 21 { 22 BuildPartA(); 23 BuildPartB(); 24 } 25 }
客户程序:
1 public class Client 2 { 3 private static Builder builder; 4 5 public static void Main() 6 { 7 builder = new Builder(); 8 builder.Construct(); 9 Product product = builder.GetResult(); 10 } 11 }
0
相关文章