我正在尝试确定处理演示逻辑的最佳位置。我已经分离出我的读取查询 (CQRS),每种方法都为我的视图查询和生成 DTO。但我的视图只是模板,其中散布着来自 DTO 的变量。他们没有任何逻辑。
假设我想做一些事情,比如重新格式化日期的外观,将标志转换为实际的描述性词,或者根据从数据库中查询的内容对显示的内容添加一些条件,等等。我正在考虑将这个逻辑放入每个查询中,并且不用担心过于干燥(我发现在某些情况下,如果你干燥太多,那么你可能会让事情变得难以改变,因为你必须检查每个依赖项或希望您的单元测试能够坚持下去)。我可能会在这里和那里使用一些“助手”来进行我发现我一直在做的格式化,但我认为不需要添加一个完整的其他“表示层”。因此,表示逻辑将驻留在每个查询中并进入返回的 DTO,然后直接放入视图中。这将使 CQRS 的读取端保持超薄,并且有意义,因为每个视图对应于一个读取查询。但我也担心某些表示逻辑将非常特定于域。新加入的开发人员需要查看其他查询并重复相同的格式化技术,而不是直接从原始查询中扔出数据。
这是合理的方法,还是在 DDD/CQRS 中使用了另一种方法?我无法从我所做的 CQRS 研究中找到任何指导。注意:我碰巧使用的是 PHP/MySQL,但我想这个问题与语言无关。