Subject类:

namespace Proxy__Pattern_Test
{
    abstract class Subject
    {
        public abstract void Request();
    }
}
View Code

RealSubject类:真正的实体,继承于Subject类

namespace Proxy__Pattern_Test
{
    class RealSubject:Subject
    {
        public override void Request()
        {
            Console.WriteLine("我才是真正的实体!");
        }
    }
}
View Code

Proxy类:代理类,继承于Subject类

namespace Proxy__Pattern_Test
{
    class Proxy:Subject
    {
        private RealSubject realSubject;
        public override void Request()
        {
            if (realSubject == null)
            {
                realSubject = new RealSubject();
            }
            realSubject.Request();
        }
    }
}
View Code

客户端类:TestMain

namespace Proxy__Pattern_Test
{
    class TestMain
    {
        static void Main(string[] args)
        {
            Proxy proxy = new Proxy();
            proxy.Request();
            Console.ReadLine();
        }
    }
}
View Code

 

 

posted on 2013-08-06 23:29  zxd543  阅读(81)  评论(0编辑  收藏  举报