第四天来咯(鸡汤音),唔不知道说什么,那么直接开始讲今天的代理模式把。

简单说下理解看完整本书,我稍微感觉代理模式是后面很多种模式的雏形,类似于中介者模式等等,类似将事情交给代理执行。

但看了书后的作业总结,提到的四种都挺陌生的,没准以后会碰到吧

总之,第四天哈吉马路哟。

代理模式

书中给的例子是找了个代理帮忙追女孩

先贴个代码

interface GiveGift
{
    void GiveDolls();
    void GiveFlowers();
}

class Persuit : GiveGift
{
    SchoolGirl mm;
    public Persuit(SchoolGirl mm)
    {
        this.mm = mm;
    }
    public void GiveDolls()
    {
        Debug.Log("Dolls");
    }
    public void GiveFlowers()
    {
        Debug.Log("Flowers");
    }
}

class Proxy : GiveGift
{
    Persuit gg;
    public Proxy(SchoolGirl mm)
    {
        gg = new Persuit(mm);
    }
    public void GiveDolls()
    {
        gg.GiveDolls();
    }
    public void GiveFlowers()
    {
        gg.GiveFlowers();
    }
}

// static void Mian(string[] aoao)
// {
//     SchoolGirl jiaojiao = new SchoolGirl();
//     jiaojiao.name = "娇娇";

//     Proxy dali = new Proxy(mm);
//     dali.GiveDolls();
//     dali.GiveFlowers();
// }

那么来看下总体的结构图吧

就是代理和原本干这事的人都实现一个接口,代理里的实现全都是别人的。

到这里就快结束了,贴一下proxy的使用场景

真是非常遥远的应用场景,唔平时还是尽可能不用吧

您必须 登录 才能发表评论