我通常使用DTOs
从发送请求Presentation
到Application
我用DTOs
从发回的响应Application
回Presentation
.
我通常装饰我请求的属性DTOs
与属性,例如Required
,StringLength
和因此对于.但没有业务规则.
然而,我在,我不应该添加任何校验多个来源(如属性,如已阅读Required
,StringLength
等)DTOs
都没有.
我想问一下根据DDD文献推荐的方法是什么.谢谢.
DDD中负责输入验证的概念是应用程序服务.
因此,您应该删除属性并验证应用服务中的DTO.使用DTO仅定义结构,并在应用程序服务中执行输入验证.
如果您在不同的应用程序服务中获得了大量重复代码(例如,因为它们使用相同的DTO并需要相同的验证),您当然可以将验证提取到可重用的服务中.仍然,应用服务控制输入验证.