MVVM解决方案架构

时间:2013-06-01 19:41:37

标签: mvvm architecture bind

我有一个解决方案,我的业务逻辑存储在一个项目中,我的UI存储在另一个项目中。我正在使用MVVM设计模式来创建一个界面,我在想,将所有View-Models放在另一个项目中是否明智和安全? 实际上,我将有3个程序集,其中UI是可执行文件,它将控件数据上下文绑定到View-Model类,后者又与Model类绑定。

请告诉我

汤姆

3 个答案:

答案 0 :(得分:1)

开始写一个长而细致的答案,然后意识到我认为这不重要;
只要您保持良好的关注点分离,无论是在同一个项目中使用不同的程序集还是不同的文件夹,它都无关紧要。
唯一重要的情况是,如果您想在不交换视图模型的情况下交换视图 即便如此,如果您的视图和视图模型在同一个程序集中正确分离,那么很容易将它们重构出来。

答案 1 :(得分:1)

程序集是版本控制的一个单元。

因此,如果你想混合和匹配不同版本的模型,ViewModel和Views,将它们放在不同的程序集中可能是一种方便的方式。

答案 2 :(得分:0)

ViewModels置于新项目中非常有意义。我不会说这是显而易见的事情,但在较大的项目中它绝对是一个有效的选择。我个人希望将MainWindow ViewModel保留在主项目中,然后将组件保存在单独的项目中。虽然,我通常围绕MEF设计我的程序,并将ViewModel和View自动加载为插件。