代理模式:为其他对象提供一种代理以控制对这个对象的访问

代理模式应用

一、远程代理

  也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在不同地址空间的事实

二、虚拟代理

  根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象

三、安全代理

  用来控制真实对象访问时的权限

四、智能指引

  是指当调用真实对象时,代理处理另外一些事情

namespace 代理模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Proxy proxy = new Proxy();
            proxy.Request();

            Console.Read();
        }
    }

    abstract class Subject
    {
        public abstract void Request();
    }

    class RealSubject : Subject
    {
        public override void Request()
        {
            Console.WriteLine("真实的请求");
        }
    }

    class Proxy : Subject
    {
        RealSubject realSubject;
        public override void Request()
        {
            if (realSubject == null)
            {
                realSubject = new RealSubject();
            }

            realSubject.Request();
        }
    }
}

  

posted on 2018-01-31 16:10  高兴happy  阅读(118)  评论(0编辑  收藏  举报