从实用的角度来看,你怎么能适应域模型MVC模式? 例如,我可以利用一些包装类?
Answer 1:
他们不是真正的关系。
MVC是分离存储数据(模型)的关切的设计图案,呈现的数据(图)的各种视图,以及与该数据(控制器)进行交互。 虽然它可能是一个“设计”模式,这是真正关心的代码的设计。 意见通常是,但不一定使用的GUI。
领域驱动设计是设计,你专注于建模创建问题域的共享易于理解的模型域软件的风格 - 一个“领域模型”。 领域驱动设计并不只是“设计”,而且还代表了代码,要求,其中包括各利益相关者的对话等。
所以,你不会真的“适应”一个到另一个,虽然你当然可以使用对象从您的域模型实现MVC。 例如,如果你为蓝本的BankAccount实体并写了相应的类,你可以使用,作为在MVC的模型。 也许控制器处理存取现金,和几个视图(例如借记卡,信用卡和摘要视图)是在模型的变化更新。 有MVC的多种口味,并根据你选择,你最终可能会修改你的域模型是什么。 例如,你可以使用其中每当模型实体改变你的意见通知观察者模式。 这是否意味着你会被混合非域概念(观察者注册,通知等)到你的域对象。 这可能是更好的包裹域对象在这种情况下,保持域模型和表示层完全分离,如果这对你很重要。 也许这就是你所说的“适应”一个其他的意思。
文章来源: Applying mvc to domain-driven design