创建型模式篇-建造者模式(Builder Pattern)
4.客户从建造者检索产品。从餐馆员工准备好套餐后,顾客再从餐馆员工那儿拿回套餐。这步客户程序要做的仅仅是取回已经生成的产品对象,如时序图中红色部分所示。

完整的客户程序:
通过分析不难看出,在这个例子中,在准备套餐的过程是稳定的,即按照一定的步骤去做,而套餐的组成部分则是变化的,有可能是普通套餐或黄金套餐等。这个变化就是建造者模式中的“变化点“,就是我们要封装的部分。1using System;
2using System.Configuration;
3using System.Reflection;
4
5namespace KFC
6{
7 /**//// <summary>
8 /// Client 类
9 /// </summary>
10 public class Client
11 {
12 public static void Main(string[] args)
13 {
14 FoodManager foodmanager = new FoodManager();
15
16 Builder instance;
17
18 Console.WriteLine("Please Enter Food No:");
19
20 string No = Console.ReadLine();
21
22 string foodType = ConfigurationSettings.AppSettings["No"+No];
23
24 instance = (Builder)Assembly.Load("KFC").CreateInstance("KFC." + foodType);
25
26 foodmanager.Construct(instance);
27
28 Food food = instance.GetFood();
29 food.Show();
30
31 Console.ReadLine();
32 }
33 }
34}
35
0
相关文章