【设计模式】4.建造者模式
说明:将很多事情,一件一件的按顺序组装形成,StringBuilding就是建造者模式。
场景:当一个流程由很多功能组成,可以直接使用,然后每个实现就好。
实现:
public class Customer { public void buy() { //客户来组装1台电脑 zhihui boss = new zhihui();//老板 lingjian emp1 = new lingjian_1();//员工1 boss.gongzuo(emp1);//老板指挥 zuzhuang zz = emp1.getComputer();//员工1组装 zz.show();//组装完成 } } ////// 组装电脑需要的步骤,这里只组装了cpu,硬盘 /// public abstract class lingjian { public abstract void cpu(); public abstract void disk(); public abstract zuzhuang getComputer(); } /// /// 组装的方法 /// public class zuzhuang { private IList<string> qingdan = new List<string>(); public void add(string str) { qingdan.Add(str); } public void show() { Console.WriteLine("开始组装"); foreach(string s1 in qingdan) { Console.WriteLine(s1+"完成"); } } } /// /// 指挥干活 /// public class zhihui { public void gongzuo(lingjian lj) { lj.cpu(); lj.disk(); lj.getComputer(); } } public class lingjian_1 : lingjian { zuzhuang zz = new zuzhuang(); public override void cpu() { zz.add("cpu"); } public override void disk() { zz.add("硬盘"); } public override zuzhuang getComputer() { return zz; } }