实现远程代理

时间:2017-04-11 13:09:17

标签: java rest design-patterns

我正在读一本关于设计模式的书,我正在尝试实现代理模式,特别是我的一个应用程序中的远程代理。

在查询远程REST API时,我考虑使用此模式,但我不确定我所考虑的是否满足远程代理的定义。

以下是我到目前为止所获得的简化版本。

应用程序将使用

MachineApiProxy 来查询位于另一台计算机上的远程API。

// Interface
public interface MachineApi
{
    public Integer Infocon();

    public InetAddress Ip();
}


// Implements above interface
public class MachineApiProxy implements MachineApi
{
    public Integer Infocon()
    {
        // query remote REST API
    }

    public InetAddress Ip()
    {
        // query remote REST API
    }

}

您认为这是否满足了对远程代理的影响?

1 个答案:

答案 0 :(得分:1)

Proxy模式的参与者是:

  • 主题 - 定义RealSubject和Proxy的通用接口
  • RealSubject - 代理提供的真实对象
  • 代理 - 保持对真实主题的引用,以便他可以充当surogate

因此,在您的情况下,缺少查询远程API的RealSubject。 RealSubject应该连接到远程端点,...
MachineApi看起来像主题 在MachineApiProxy中注入RealSubject。