耦合vs解耦后端 - 前端

时间:2018-04-30 09:44:17

标签: rest design-patterns architecture

我有一个使用API​​作为后端的asp.net网站项目,我需要将我的前端与后端apis完全分离,所以我在后端项目中创建了一个RESTful服务,现在我想在前端消费它。我假设我有两个解决方案:

  • 仅在后端构建我的模型,并添加对前端的引用,以避免再次在前端重写相同的模型。 (耦合)
  • 在后端和前端构建两个精确模型。 (去耦)

优点:

解决方案1)

  • 避免再次在前端重写相同的模型。

  • 强制更新前端模型,一旦后端更改(否则构建错误)

解决方案2)

  • 帮助我的前端与后端分离。

  • 如果后端模型发生变化,将避免构建错误。 (前端例外)

请告知哪种方法更好的设计,如果您有任何建议请分享。

2 个答案:

答案 0 :(得分:0)

这取决于你的后端和前端的变化速度以及你的工具支持它的程度,但是大多数情况下人们只使用两种模型是有原因的。

(原因是很难做到这一点并且极大地降低了你的敏捷性。)

答案 1 :(得分:0)

通常,您不希望前端使用与后端相同的模型:

  1. 脱钩很好。没有理由让你的前端以任何方式连接到你的后端。
  2. 您的数据在前端与后端的结构自然不同。
  3. 您最终可能会有多个使用相同后端的前端应用。
  4. 特定的前端可能会消耗不同的(一组)后端