using System;
namespace 建造者模式
{
class Program
{
static void Main(string[] args)
{
TeaBuilder teaBuilder = new TeaBuilder();
teaBuilder.addNameType("珍珠奶茶")
.addIsAddMilk(true)
.addIsIcyType(true)
.addTaste("奥里给");
Console.WriteLine(teaBuilder.build().ToString());
}
}
class Tea
{
private string name;
private bool isIcy;
private bool isAddMilk;
private string taste;
public void setName(string name)
{
this.name = name;
}
public void setIsIcy(bool isIcy)
{
this.isIcy = isIcy;
}
public void setIsAddMilk(bool isAddMilk)
{
this.isAddMilk = isAddMilk;
}
public void setTaste(string taste)
{
this.taste = taste;
}
public override string ToString()
{
return "奶茶订单:{" + "\n" +
"名字:" +name+ "\n" +
"冷/热:"+ isIcy+ "\n" +
"加奶/不加奶:"+isAddMilk+"\n"+
"口味:"+taste+ "\n" +
"}";
}
}
class TeaBuilder
{
private Tea tea;
public TeaBuilder()
{
this.tea = new Tea();
}
public TeaBuilder addNameType(string name)
{
if (name == null || name == "")
{
tea.setName("空");
}
tea.setName(name);
return this;
}
public TeaBuilder addIsIcyType(bool isIcy)
{
tea.setIsIcy (isIcy);
return this;
}
public TeaBuilder addIsAddMilk(bool isAddMilk)
{
tea.setIsAddMilk(isAddMilk);
return this;
}
public TeaBuilder addTaste(string taste)
{
tea.setTaste(taste);
return this;
}
public Tea build()
{
return tea;
}
}
}