对于未来的项目,我决定使用 dto 将数据传递到域层。这也是我进行大部分数据验证的地方。
我应该把数据格式放在哪里?
1)在 DTO 中准备好发送到域层
或
2)在基础设施层中,就在它被持久化之前?
或
3) 其他地方:)
ie :在保存之前需要加密的密码,或者在存储之前需要转换、调整大小等的图像。
我想将所有数据格式保存在一层,不喜欢它分散在所有地方。
换句话说:是否应该为域准备数据来处理它,或者域应该获取原始数据并在域处理后更改它?
对于未来的项目,我决定使用 dto 将数据传递到域层。这也是我进行大部分数据验证的地方。
我应该把数据格式放在哪里?
1)在 DTO 中准备好发送到域层
或
2)在基础设施层中,就在它被持久化之前?
或
3) 其他地方:)
ie :在保存之前需要加密的密码,或者在存储之前需要转换、调整大小等的图像。
我想将所有数据格式保存在一层,不喜欢它分散在所有地方。
换句话说:是否应该为域准备数据来处理它,或者域应该获取原始数据并在域处理后更改它?
数据格式化是一个技术问题,因此它应该由基础设施服务处理,而不是由域处理。例如,密码散列应该由保存相应聚合的存储库处理。格式化也可能发生在DTO 通常驻留的六边形架构中的适配器中。这种类型的格式取决于手头的适配器类型。例如,您可以将公开域模型的 RESTful API 视为 HTTP 和域模型之间的适配器。在这种情况下,必须在资源表示和相应的域对象之间执行格式化或转换。