代理模式

using System;
using System.Collections.Generic;
using System.Text;

//代理模式
namespace designMode
{
interface GiveGift
{
void GiveDolls();
void GiveFlowers();
void GiveChocolate();
}

class SchoolGirl
{
private string name;
public string Name
{
get { return name;}
set { name = value;}
}
}
//追求者类
class Pursuit : GiveGift
{
SchoolGirl mm;
public Pursuit(SchoolGirl mm)
{
this.mm = mm;
}

public void GiveDolls()
{
Console.WriteLine(mm.Name
+ "送你洋娃娃");
}

public void GiveFlowers()
{
Console.WriteLine(mm.Name
+ "送你鲜花");
}

public void GiveChocolate()
{
Console.WriteLine(mm.Name
+ "送你巧克力");
}
}

//代理类
class Proxy : GiveGift
{
Pursuit gg;
public Proxy(SchoolGirl mm)
{
gg
= new Pursuit(mm);
}

public void GiveDolls()
{
gg.GiveDolls();
}

public void GiveFlowers()
{
gg.GiveFlowers();
}

public void GiveChocolate()
{
gg.GiveChocolate();
}
}
}

  

using System;
using System.Collections.Generic;
using System.Text;

namespace designMode
{
class Program
{
static void Main(string[] args)
{
SchoolGirl jiaojiao
= new SchoolGirl();
jiaojiao.Name
= "李娇娇";

Proxy daili
= new Proxy(jiaojiao);

daili.GiveDolls();
daili.GiveFlowers();
daili.GiveChocolate();

Console.Read();
}
}
}

  

原文地址:https://www.cnblogs.com/cjingzm/p/2124398.html