【发布时间】:2010-12-26 10:48:27
【问题描述】:
Los Techies 的 Jimmy Bogard says that he maps his EditModel to Command Messages,而不是将 EditModel 映射到 DomainModel。谁能进一步解释这一点?
【问题讨论】:
标签: asp.net-mvc mapping automapper
Los Techies 的 Jimmy Bogard says that he maps his EditModel to Command Messages,而不是将 EditModel 映射到 DomainModel。谁能进一步解释这一点?
【问题讨论】:
标签: asp.net-mvc mapping automapper
我猜它是command pattern 的一个版本,它根据提供的消息对相关域对象执行必要的操作。例如类似的东西
public PromoteEmployeeCommand : ICommand {
private readonly PromotionMessage _message;
private readonly IEmployeeRepository _repository;
public PromoteEmployeeCommand(PromotionMessage message,
IEmployeeRepository repository) {
_message = message;
_repository = repository;
}
public void Execute() {
/* Get the employee, give them a rise etc... */
}
}
来自编辑模型的映射将解析为可根据需要调用的许多命令消息(例如,给员工加薪、通知他们的经理、添加工资单注释等)。
这种方法的优点是它可以将您的域模型与 Edit 模型暴露的任何表示关注点隔离开来。
【讨论】: