【发布时间】:2010-01-09 18:58:33
【问题描述】:
我认为 MVP 中的 M 表示的“模型”可能是域模型或表示/视图模型是否正确?
【问题讨论】:
-
@Jan 我的意思是 MVP。我的问题有问题吗?可能有些缺乏理解。
标签: design-patterns mvp
我认为 MVP 中的 M 表示的“模型”可能是域模型或表示/视图模型是否正确?
【问题讨论】:
标签: design-patterns mvp
是的,模型基本上可以是任何模型。在我看来,MVC 的初衷是它是一个域对象,这当然是可能的。
但是,我的经验表明,如果我们引入一个专门的 ViewModel/Presentation Model 作为域模型和视图之间的隔离,可以实现更好的匹配。
即使 ViewModel 在语义上似乎与域对象相同,这种隔离使我们能够独立地改变两者,从而遵循Single Responsibility Principle。
事实证明,View 需要一些适用于特定 UI 技术的逻辑,而这种逻辑很不适合 Domain Model。例子包括
更多信息可以在这里找到
【讨论】: