【问题标题】:Is it anti-pattern to alter domain model on front end?在前端更改域模型是反模式吗?
【发布时间】:2016-10-09 00:38:55
【问题描述】:

我们正在制作一个测验应用程序,我正在尝试将我的 Angular 2 UI 与 REST api 集成。

我们的测验域模型由以下(简化的)层次结构组成:

  • 测验
  • 类别
  • 问题
  • 选择

父母不知道它是孩子,但孩子知道它是父母。例如,Choice 有对 Question 的引用,但 Question 没有对选择的引用。我们选择这种方法是为了能够更灵活和模块化地获取测验数据,同时避免循环引用。

但是,在前端使用反向链接是违反直觉的,因为视图是在域对象结构中自然地逐层迭代构建的。首先为 Question 渲染视图,然后为 Choices 渲染子视图是有意义的。目前的领域模型似乎是不可能的,我应该从选择开始。

我的问题是,如果在前端转换域模型是常见的或被批准的,那么我会收集所有数据并在之后添加对 Question 的 Choice 引用,从而使模型与自上而下的方法兼容?当然,在 POST 到 REST api 时将其转换回来。

这是否表明设计不佳,或者是否已批准更改域模型?

【问题讨论】:

  • 这个问题不适合 SO。或许您可以尝试请版主将其移至programmers.SE

标签: json rest oop design-patterns architecture


【解决方案1】:

这不是“在前端转换域模型”,因为您的前端没有使用域模型。它正在使用数据传输对象(在这种情况下从调用服务器 API 返回的 json 对象)。因此,请随意使用客户端上的 DTO 做任何您想做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2012-06-22
    • 2018-03-27
    • 2011-08-04
    • 2010-11-04
    • 2023-03-11
    相关资源
    最近更新 更多