【发布时间】:2019-09-21 22:34:39
【问题描述】:
背景
我正在构建一个显示垂直项目列表的应用程序(想象一下文件浏览器应用程序)。项目类型可以是文件夹,在这种情况下,文件夹可以有任意数量的子项目/文件夹,允许用户创建/导航层次结构,同样类似于文件系统。用户可以手动拖放项目以随意对项目进行排序,而不是按字母顺序(等)排序项目。因此,每个项目都有一个整数类型的排序/位置属性,用于跟踪项目相对于当前文件夹中其他项目的位置。至少,视图模型目前是这样。
问题
项的排序/位置属性是否属于项的域对象的属性?
排序值对单个项目本身没有意义。这里奇怪的概念是文件夹项目的递归/分层性质。文件夹类型项可能负责确保直接子项排序值有效(顺序/无间隙/无重叠),并负责更改这些子项的排序顺序。
但这是正确的吗?排序顺序似乎是与显示相关的问题。是否应该提供一种服务,该服务采用无排序域实体并将排序/位置属性应用于这些项目,因为它们在显示之前转换为视图模型?
【问题讨论】:
标签: java android domain-driven-design