【问题标题】:Serparation of concerns between HTTP API and GUI that calls itHTTP API 和调用它的 GUI 之间的关注点分离
【发布时间】:2018-09-20 22:10:42
【问题描述】:

我正在使用 HTTP API。从某种意义上说,这是一种家庭自动化 API。实际上更像是一个 RPC 接口,但它表示为 HTTP API。

它支持 PUT:http://server/resource BODY;Json = { 'action': 'value' }

好的。现在我想创建一个 GUI(在我的例子中是 HTTP/CSS,但这对于这个问题并不重要)。 GUI 将有一个按钮来调用这些操作中的每一个。所以 GUI 需要:

  1. 有效操作列表(明确 API 职责)
  2. 为“行动”(API 责任)PUT 的“价值”
  3. 每个按钮的图标(???谁负责)
  4. 每个按钮的文本标签'(??? 负责)

如果 API 发生变化,我不想编译/重建 Gui,所以我想将按钮配置存储在某种元数据中。

所以,问题是;维护关注点的分离,其职责就是元数据。 API 或 GUI。

如果我将它放在 API 中,那么多个 GUI 可以获取此元数据,并且看起来都相似,并且会对 API 中的更改做出反应。

但是,图标之类的东西真的感觉像是 GUI 数据。

我真的需要一些帮助来了解如何拆分这些层的最佳实践,并且仍然保持良好的关注点分离。

提前致谢

【问题讨论】:

    标签: rest http user-interface architecture separation-of-concerns


    【解决方案1】:

    这将需要对您的应用程序做出很多假设,但听起来这些确实是 GUI 问题,应该保留在 GUI 中。如果你开始做一些事情,比如让 API 负责 GUI 的显示,那么你就不再创建 API,而是创建了一个 Web 应用程序。

    现在,话虽如此,您的 API 听起来有点过于通用,也许将 API 包装在 Web 应用程序中是正确的做法,但这与您最初的问题范围有很大偏差。

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 1970-01-01
      相关资源
      最近更新 更多