
代理模式uml圖
//先產生一個Interface 用來實作方法
interface IGiyeGift {
void GiveDolls();
void GiveFlowers();
void GiveChoclate();
}
//實作一個資料內容
class schoolGirl {
private string name;
public string NameSet {
get { return name;}
set {name = value;}
}
}
//被代理人的類別
class pursit : IGiyeGift
{
schoolGirl mm;
public pursit(schoolGirl dd)
{
this.mm = dd;
}
public void GiveDolls()
{
Console.WriteLine(this.mm.NameSet+"TestDolls");
}
public void GiveFlowers()
{
Console.WriteLine(this.mm.NameSet + "Flowers");
}
public void GiveChoclate()
{
Console.WriteLine(this.mm.NameSet + "TestCholate");
}
}
//代理人的類別項目
class Proxy : IGiyeGift
{
pursit mm;
public Proxy(schoolGirl MM)
{
this.mm = new pursit(MM);
}
public void GiveDolls()
{
mm.GiveDolls();
}
public void GiveFlowers()
{
mm.GiveFlowers();
}
public void GiveChoclate()
{
mm.GiveChoclate();
}
}
/// <summary>
/// 主程式用來產生主要項目, 透過代理人
/// </summary>
class Program
{
static void Main(string[] args)
{
schoolGirl DDa = new schoolGirl();
DDa.NameSet = "王國權 ";
Proxy Pxy = new Proxy(DDa);
Pxy.GiveDolls();
Pxy.GiveFlowers();
Pxy.GiveChoclate();
Console.ReadLine();
}
}
