3

Los Techies 的 Jimmy Bogard说他将他的 EditModel 映射到命令消息,而不是将 EditModel 映射到 DomainModel。谁能进一步解释这一点?

4

1 回答 1

4

我猜它是命令模式的一个版本,它根据提供的消息对相关域对象执行必要的操作。例如类似的东西

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 模型暴露的任何表示关注点隔离开来。

于 2009-12-14T21:45:28.413 回答