2014-10-29 61 views
0


实现我看在维基百科网站的代理模式:http://en.wikipedia.org/wiki/Proxy_pattern
我明白在一个计算机程序。
但我问我有关在2台电脑实现的问题。
在现实生活中,我想:
1)在客户端(计算机A)和服务器(计算机B)=>我是对吗?
2)类的代理的目的是在客户端(计算机A)
3)CLASSE RealSubject的目的是在服务器类代理的构造(计算机B)
4),RealSubject的一个实例是创建=>我是对的?
在第4点,如果我是正确的,如何在电脑A中实例化一个类,它位于计算机B中?
例如,如果B类是Web服务,你该如何做?
我提前感谢你。
代理设计模式

回答

1

1)在客户端(计算机A)和服务器(计算机B)=>我是对吗? 是的,几乎总是。

2)类的代理的目的是在客户端(计算机A)

3)类RealSubject的目的是在服务器(计算机B)

4)在类Proxy的构造函数中,RealSubject的一个实例被创建=>我对吗? 在构造函数中或通过任何其他方式,也许RealSubject已经创建 并且您所要做的就是获取对它的引用。

“代理可以在不改变对象代码的情况下为感兴趣的对象添加附加功能。”从维基百科。

对于调用Web服务,您可以简单地拥有一个Web服务代理,它将封装对WS的调用。

喜欢的东西:

class WebServiceProxy { 

    private WebService ws; 

    public doWSAction() { 
    // Here you make the call to the actual web service: setup parameters, check security etc, whatever you need . 
    ... 
    // then you call the actual web service: 
    ws.doWSAction() 

    } 

} 

因此,有人谁需要网络服务将只使用本地类,而不必做所有 与你在你的方法是做呼叫的事情。

+0

MulţumescMatei。 – Thomas 2014-10-30 12:44:35

+0

MulţumescMatei。非常感谢Matei花时间回答我的问题并点亮我的大脑。 – Thomas 2014-10-30 12:45:42

+0

Matei,我想标记这个答案是有用的。但是我的名声在15岁以下,因此我没有权利将答案标记为有用。 – Thomas 2014-10-30 12:54:40