【设计模式】之 Proxy 代理模式
2012-03-05 09:33
399 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Remoting; namespace DesignFactory.Proxy { /// <summary> /// 代理模式 /// 利用远程代理模式提供对另一个应用程序AppDomain的对象进行访问控制 /// </summary> class ProxyPattern { } public interface IMath { double Add(double x, double y); double Sub(double x, double y); double Mul(double x, double y); double Div(double x, double y); } class Math : MarshalByRefObject, IMath { public double Add(double x,double y){return x + y;} public double Sub(double x, double y) { return x + y; } public double Mul(double x, double y) { return x + y; } public double Div(double x, double y) { return x + y; } } class MathProxy : IMath { Math math; public MathProxy() { AppDomain ad = System.AppDomain.CreateDomain("MathDomain", null, null); ObjectHandle o = ad.CreateInstance("Proxy_RealWord", "Math", false, System.Reflection.BindingFlags.CreateInstance, null, null, null, null, null); math = (Math)o.Unwrap(); } public double Add(double x,double y) { return math.Add(x, y); } public double Sub(double x, double y) { return math.Sub(x, y); } public double Mul(double x, double y) { return math.Mul(x, y); } public double Div(double x, double y) { return math.Div(x, y); } } public class ProxyApp { public static void Main(string[] args) { MathProxy p = new MathProxy(); Console.WriteLine("4+2={0}",p.Add(4,2)); Console.WriteLine("4-2={0}", p.Sub(4, 2)); Console.WriteLine("4*2={0}", p.Mul(4, 2)); Console.WriteLine("4/2={0}", p.Div(4, 2)); } } }
相关文章推荐
- 【设计模式】动态代理Proxy_01
- 设计模式学习——代理模式(proxy)
- 设计模式(十一)代理模式Proxy(结构型)
- 设计模式之代理模式之二(Proxy)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式 -- 代理模式(Proxy)
- (8)Java设计模式-代理模式(Proxy)
- 设计模式之代理模式(Proxy)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 【6】设计模式之代理模式(Proxy)
- JAVA设计模式(09):结构型-代理模式(Proxy)
- Android设计模式之代理模式 Proxy
- 设计模式之代理(Proxy)----对象结构型模式
- 设计模式--代理模式(Proxy)
- Java基础-设计模式之-代理模式Proxy
- php设计模式之Proxy(代理模式)和Facade(外观)设计模式
- 跟着Android学设计模式:代理(proxy)
- 我读设计模式之代理模式(Proxy Pattern)
- 巧用代理设计模式(Proxy Design Pattern)改善前端图片加载体验
- 设计模式(十一)代理模式Proxy(结构型)