我有以下型号集:自动映射器映射将模型发布到域模型?
- 实体
- 域
- 查看
- 请求(邮政法)
我有以下automapper映射:
- 实体 - >域名
- 域 - >实体
- 域 - >查看
我也很难理解什么做与我的帖子车型。他们是否应该直接映射到域名?它们是否应映射到RequestsDomains?
您认为如何?
我有以下型号集:自动映射器映射将模型发布到域模型?
我有以下automapper映射:
我也很难理解什么做与我的帖子车型。他们是否应该直接映射到域名?它们是否应映射到RequestsDomains?
您认为如何?
邮政模型几乎总是在DDD意义上的命令。如果它们是真正的命令,那么你的域负责执行不变量等。映射可以绕过所有这些。我很少映射回域名。你可以通过一个命令处理程序或直接在命令域的任何潜在状态变化:
class Invoice {
void Handle(ApproveCommand command) {
// Do work to approve an invoice. ApproveCommand is your Post model
}
}
因此,如果我需要从客户端的输入中添加一个实体,那么您在该Handle方法中直接实例化一个实体? 有些属性可以直接映射,其他一些属性只能填充到逻辑层中。那么,那种不好的做法是映射到Domain并忽略一些属性,然后在Core中填充它们的值? –
是的,我直接实例化。该代码尽可能是程序性的。我不知道什么是逻辑层,但是我把这个代码放在处理程序里面,尽可能愚蠢和明显。像存储过程一样思考。或者你可以把这个处理程序放在域外,并且它是一个域服务。 –
“实体” ==由实体框架映射的对象? “域”==域对象?请澄清。在DDD中,域对象创建命令通常不会自动映射字段到域对象,因为这会绕过不变实施。正常的构造函数或工厂被用来代替。 – guillaume31