代理模式-proxy

 

 

using System;
abstract class Person //人 抽象角色
{
    abstract public void Findhouse();//找房子住
}

class FreshPerson : Person //应届毕业生
{
    override public void Findhouse()//找房子住
    {
        Console.WriteLine("应届毕业生找房子住");
    }
}

class Proxy : Person //租房中介机构(代理角色)
{
    FreshPerson freshperson; //应届毕业生

    override public void Findhouse()//找房子
    {
        if (freshperson == null)  //如果为空
            freshperson = new FreshPerson();

        preFind();//找房子前
        freshperson.Findhouse();//帮助应届毕业生找房子
        postFind();//找房子后
    }

    public void preFind()
    {
        Console.WriteLine("找房子前,我在玩电脑");
    }

    public void postFind()
    {
        Console.WriteLine("帮助应届毕业生找房子后,我就去睡觉");
    }
}

public class Client
{
    public static void Main(string[] args)
    {
        Proxy p = new Proxy(); //(代理角色)中介机构
        //Person p = new Proxy();
        p.Findhouse();//帮助应届毕业生找房子
    }
}

 

 

posted on 2014-06-09 23:08  忙碌ing  阅读(148)  评论(0)    收藏  举报

导航