设计模式-11-代理模式

说明

1.编写代理和真实业务都能使用的接口

2.在代理中聚合真实业务,对外不暴露真实业务,并可在代理中对真实业务之前和之后做一些操作

public interface ISubject
    {
        void Request();
    }
 class ProxyRealSubject : ISubject
    {
        RealSubject realSubject;
        public void Request()
        {
            if(realSubject==null)
            {
                realSubject = new RealSubject();
            }
            Console.WriteLine("执行RealSubject前的操作");
            realSubject.Request();
            Console.WriteLine("执行RealSubject后的操作");
        }
    }
 class RealSubject : ISubject
    {
        public void Request()
        {
            Console.WriteLine("执行RealSubject完成");
        }
    }
 ISubject iSubject = new ProxyRealSubject();
            iSubject.Request();
原文地址:https://www.cnblogs.com/alisande/p/5592520.html