【设计模式】 代理模式
一. 代理模式
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(); }