码迷,mamicode.com
首页 > 其他好文 > 详细

代理模式

时间:2017-04-18 13:58:10      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:main   自己   方法   其他   ons   abstract   span   访问   color   

1、个人理解:被代理类与代理类同时要实现相同的接口或抽象类,在代理类中保留对被代理类的引用,实现抽象类的方法时对被代理类的方法进行调用,初始化代理类的时候要传入的参数是被代理类,当我们调用代理类的方法时实际上执被代理类的方法,也就实现了代理模式。

2、专业解释:为其他对象提供一种代理以控制对这个对象的访问。

3、代码:

1)抽象类,供代理类和被代理类去继承

1 abstract class Subject
2     {
3         public abstract void Request();
4     }

2)被代理类,继承抽象类,重写Request方法

1 class RealSubject:Subject
2     {
3 
4         public override void Request()
5         {
6             Console.WriteLine("我是真实的请求!");
7         }
8     }

3)代理类,继承抽象类,重写Request方法,将被代理类作为自己的一个字段

 1  class Proxy : Subject
 2     {
 3         RealSubject rs;
 4         public override void Request()
 5         {
 6             rs.Request();
 7         }
 8         Proxy(RealSubject rs) {
 9             this.rs = rs;
10         }
11     }

4)客户端代码

 public static void Main() {
            RealSubject rs = new RealSubject();
            Proxy px = new Proxy(rs);
            px.Request();
        }

 

代理模式

标签:main   自己   方法   其他   ons   abstract   span   访问   color   

原文地址:http://www.cnblogs.com/zhengwei-cq/p/6727332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!