假设我有以下领域模型:
Project Task
- Id - Id
- Name - Name
- List<Task> - Project
项目有许多任务,任务有一个项目。
现在假设我要创建一个 TodoListDTO 数据传输对象。我最初的想法是这样做:
TodoListDTO
- List<Project>
看起来很简单。然后我可以访问每个项目中的任务列表。然后我在几个地方读到 DTO 应该尽可能平坦。但是我如何在不使用复杂对象的情况下对其进行建模呢?
代替 TodoListDTO,我可以有一个类似于以下内容的 ProjectDTO:
ProjectDTO
- ProjectId
- Name
- List<TaskId>
- List<TaskName>
但是拥有单独的TaskIds 和TaskNames 列表似乎不方便,而且我看不出这比在ProjectDTO 上拥有一个List 属性更好。
有什么好的方法来处理这个?