//创建老板
public class Boss
{
public void MakeEmployee(Employee employee)
{
employee.BuildFrame();
employee.BuildLenses();
}
}
//创建员工
public abstract class Employee
{
//生产镜片
public abstract void BuildLenses();
//生产镜框
public abstract void BuildFrame();
//组装眼镜
public abstract Glasses GetGlasses();
}
public class Glasses
{
private IList<string> parts = new List<string>();
public void Add(string part)
{
parts.Add(part);
}
public void Show()
{
Console.WriteLine("开始组装眼镜了!");
foreach(string part in parts)
{
Console.WriteLine("组件" + part + "装好了");
}
Console.WriteLine("组装完成!");
}
}
public class Employee1:Employee
{
Glasses glasses = new Glasses();
public override void BuildLenses()
{
glasses.Add("暴龙镜片");
}
public override void BuildFrame()
{
glasses.Add("暴龙镜框");
}
public override Glasses GetGlasses()
{
return glasses;
}
}
public class Employee2 : Employee
{
Glasses glasses = new Glasses();
public override void BuildLenses()
{
glasses.Add("宝岛镜片");
}
public override void BuildFrame()
{
glasses.Add("宝岛镜框");
}
public override Glasses GetGlasses()
{
return glasses;
}
}
class Program
{
static void Main(string[] args)
{
Boss boss = new Boss();
Employee employee1 = new Employee1();
Employee employee2 = new Employee2();
boss.MakeEmployee(employee1);
Glasses glasses = employee1.GetGlasses();
glasses.Show();
boss.MakeEmployee(employee2);
glasses = employee2.GetGlasses();
glasses.Show();
Console.ReadKey();
}
}
5种创建型设计模式-建造者模式(Builder)
最新推荐文章于 2022-03-17 21:33:00 发布