【发布时间】:2016-05-19 18:08:26
【问题描述】:
我有一个带有 Spring 的应用程序,我需要调用许多不同类型的后端系统(传统大型机、ESB、RESTful...)。如果我们采取例如REST,我可以实现一个 RESTful 客户端,例如休息模板。我可以 A) 让开发人员直接使用 RestTemplate 客户端,他们将服务 url 和数据对象传递给该客户端。或者我可以 B) 将 RestTemplate 包装在我们自己的后端特定客户端中,并提供开发人员可以使用的显式方法。然后,这些方法本身当然会使用 RestTemplate 并进行显式后端调用。
A) 的好处是后端系统的更改不需要更改客户端。缺点是我们不隐藏架构。 B) 对开发人员来说更清晰,更容易“管理”,但后端系统的更改需要我们更新所有想要使用新后端功能的应用程序。更糟糕的是,后端系统功能的更改可能需要更新所有服务。
不过,我个人还是倾向于选项 B),因为它为开发人员提供了业务逻辑和架构服务的良好分离。
【问题讨论】:
-
B 是更好的选择,并且能够在后端发生更改时轻松进行更改,您可以使用属性文件或 xml 使其可配置
标签: spring resttemplate