您的位置:首页 > 其它

【设计模式】 代理模式

2015-01-05 15:25 162 查看
【设计模式】 代理模式

一. 代理模式

1. 对现有对象进行封装,以控制对该对象的访问

2. 适用场景 :

  a. 做对外的接口, 有了代理可以起到过滤作用,只代理想公开的功能,不像公开的功能就不做代理

  b. 增加安全性, 可以在代理层加上安全验证

3. 代码

public class Proxy
{
public static void Test()
{
var proxyer = new Proxyer();
var v = new ImProxy(proxyer);
v.DoProxy();
}
}

internal class ImProxy : ProxyBase
{
public ImProxy(ProxyBase proxy)
{
this._proxy = proxy;
}

private readonly ProxyBase _proxy;
public override void DoProxy()
{
if (_proxy != null)
{
_proxy.DoProxy();
}
}
}

internal class Proxyer : ProxyBase
{
public override void DoProxy()
{
Console.WriteLine("我是被代理者");
}
}

internal abstract class ProxyBase
{
public abstract void DoProxy();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: