Tag: 的关注点分离

如何在POST操作中将视图模型映射回域模型?

互联网上使用ViewModel和利用Automapper的每篇文章都给出了“Controller – > View”方向映射的指导原则。 您将域模型和所有select列表一起放入一个专门的ViewModel中,并将其传递给视图。 这很清楚,很好。 该视图有一个表单,最终我们在POST操作中。 在这里,所有的模型绑定器都与[明显]另一个 View模型一起出现,它至less在命名约定的部分中与原始ViewModel 明显相关,以便进行绑定和validation。 你如何将其映射到你的域模型? 让它成为插入动作,我们可以使用相同的Automapper。 但是,如果这是更新行为呢? 我们必须从Repository检索我们的Domain Entity,根据ViewModel中的值更新它的属性并保存到Repository中。 附录1(2010年2月9日):有时,分配模型的属性是不够的。 根据视图模型的值,应该对域模型采取一些行动。 也就是说,应该在域模型上调用一些方法。 可能应该有一种应用程序服务层,站在控制器和域之间来处理视图模型… 如何组织这个代码,并把它放在哪里来实现以下目标? 保持控制器很薄 尊重SoC的实践 遵循域驱动devise原则 是干的 未完待续 …