2017-01-23 115 views
1

Im建立一个服务(休息服务),对数据库进行内部调用,然后进行一次外部Web服务调用。此服务可用于内部请求,并暴露给外部客户的电话,我的疑问是如果我可以将此服务命名为Facade或Gataway。我的确了解了Gateway和Facade模式,一个是客户是外部应用程序,另一个是内部应用程序,所以我没有发现任何关于这两种调用的服务模式。内部和外部服务暴露的正确模式

回答

0

在很多方面Gateway/Facadetwo sides of the same coin网关模式将用于简化对外部Web服务的调用(即提供一致的API),并使用门面模式提供您的简化版本拥有内部的API给你的客户。

如果您希望客户拥有与外部Web服务相同的访问权限,则可以始终将简化的外部API直接并入您的外观。更好的解决方案可能是通过使用command pattern(或类似的),通过使用command pattern(或类似)的方式将其从内部解耦,如果外部Web服务API增加了功能或更改,无论出于什么原因,您都可以通过简单的方式修改系统来应对。

我不认为有一个模式为您的特定用例,你将不得不根据什么是最好的/什么给你最一致的,可维护的代码工程师的解决方案。