改变前端的域模型是反模式的吗?

时间:2016-06-08 16:10:13

标签: json rest oop design-patterns architecture

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

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

  • 测验
  • 分类
  • 问题
  • 选择
父母不知道它的孩子,但孩子知道它的父母。例如,Choice有一个问题的参考,但问题没有提到选择。我们选择这种方法能够获取测验数据更灵活和模块化的方法,同时避免循环引用。

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

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

这是否表明设计不合理,或是否批准更改域模型?

1 个答案:

答案 0 :(得分:1)

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