代理模式
来源:互联网 发布:广告机发布软件 编辑:程序博客网 时间:2024/06/02 06:42
如果说这个计算程序部署在我们本地计算机上,使用就非常之简单了,我们也就不用去考虑Proxy模式了。但现在问题是这个Math类并没有部署在我们本地,而是部署在一台服务器上,也就是说Math类根本和我们的客户程序不在同一个地址空间之内,我们现在要面对的是跨越Internet这样一个网络障碍:
代理模式:代理类和被代理的类实现一个接口,代理类中定义一个被代理类的对象(个人描述,可能不准确)
using System;dusing System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 代理模式{ public interface IMath { double Add(double x, double y); double Sub(double x, double y); double Mul(double x, double y); double Dev(double x, double y); } public class Math : 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 Dev(double x, double y) { return x / y; } } public class MathProxy { private Math math; public MathProxy() { math = new Math(); } // 以下的方法中,可能不仅仅是简单的调用Math类的方法 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 Dev(double x,double y) { return math.Dev(x, y); } } class Program { static void Main(string[] args) { MathProxy proxy = new MathProxy(); double result = proxy.Add(2, 3); Console.WriteLine(result); result = proxy.Sub(2, 3); Console.WriteLine(result); result = proxy.Mul(2, 3); Console.WriteLine(result); result = proxy.Dev(2, 3); Console.WriteLine(result); } }}
阅读全文
0 0
- 代理模式--动态代理
- 代理模式-静态代理
- 代理模式-静态代理
- 代理模式 & 动态代理
- 代理模式--静态代理
- 代理模式--动态代理
- 代理模式(动态代理)
- 代理模式-动态代理
- 代理模式-动态代理
- 代理模式动态代理
- 代理模式-静态代理
- 代理模式-动态代理
- 代理模式 -动态代理
- 代理模式---动态代理
- 代理模式-动态代理
- 代理模式--静态代理
- 代理模式!
- 代理模式
- 不同PNP求解算法性能测试
- web前端开发之几种布局方式之响应式布局
- 126. Word Ladder I & II
- 判断某一天是当年的哪一天
- Linux下安装gnuplot
- 代理模式
- 毫秒转换为天、小时、分、秒
- Eclipse 建立 Java Spring 最简控制台项目
- poj2195Going Home最小费用流
- 从 0 到 1 走进 Kaggle
- 汇编指令push,mov,call,pop,leave,ret建立与释放栈的过程
- Java实现非对称加密
- 虚函数与虚表再探
- 字符串