【发布时间】: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 需要:
- 有效操作列表(明确 API 职责)
- 为“行动”(API 责任)PUT 的“价值”
- 每个按钮的图标(???谁负责)
- 每个按钮的文本标签'(??? 负责)
如果 API 发生变化,我不想编译/重建 Gui,所以我想将按钮配置存储在某种元数据中。
所以,问题是;维护关注点的分离,其职责就是元数据。 API 或 GUI。
如果我将它放在 API 中,那么多个 GUI 可以获取此元数据,并且看起来都相似,并且会对 API 中的更改做出反应。
但是,图标之类的东西真的感觉像是 GUI 数据。
我真的需要一些帮助来了解如何拆分这些层的最佳实践,并且仍然保持良好的关注点分离。
提前致谢
【问题讨论】:
标签: rest http user-interface architecture separation-of-concerns