首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用adaptor与proxy集成多个提供程序

使用adaptor与proxy集成多个提供程序
EN

Stack Overflow用户
提问于 2015-09-18 20:52:08
回答 1查看 101关注 0票数 2

我将与多个提供商集成,每个提供商都有不同的接口,因此我有两个选项,并希望从中选择一个:

1-使用适配器,这样我的应用程序内部就会有包含我期望的所有方法和参数的接口,当get provider API将通过从我的应用程序实现接口来为这个API生成适配器时。

2-使用通用代理实现特定接口“可能是适配器选项中指定的接口”,此代理必须调用提供程序API并为我的应用程序提供使用它的方法

注1:你可能认为两个选项是相同的,但事实并非如此,在adaptor中,你期望提供者api将有相同的方法,在不同的名称和相同的参数中,但可能需要强制转换,在proxy中,你从提供者的角度有更多的灵活性,所以提供者可以是java api,REST服务或其他任何东西。

注2:选项1中我和提供者api之间的合同是业务常识,而选项2中是必须实现的代码接口

注3:我可以在一个解决方案中同时使用代理和应用程序中的代理,并使用适配器调用提供者API,如果提供者API与我们的业务共识不匹配,将在其上创建另一个代理,例如:

代码语言:javascript
复制
Provider => proxy => adaptor => proxy

但是,我需要这样做而不是只使用代理来包装所有这些吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-18 21:21:13

我认为proxy模式并不打算将一个预期的接口适配到另一个接口。也就是说,Proxy模式旨在解决与以下内容相关的问题:

访问远程interface

  • Accessing的
  • 代价高昂/复杂的接口

这两种情况下,代理接口访问都很容易。

另一方面,您拥有适配器模式,该模式旨在将实际接口适配到预期接口。它并不介意你需要的转换是简单的还是复杂的(正如你在注释1中所说的那样)。

所以,如果我没有误解你的问题,我认为你最好使用适配器模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32652527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档