我在那里看到的许多教程都有view / viewmodel / model文件夹。
如果我使用Visual Studio项目将每个项目分成不同的程序集,我会为每个项目选择哪些项目类型?
我打算使用NuGet和XAML的Prism 6。
这是我最初的感受:
或者,视图是否应该存在于更高级别的WPF应用程序中?
答案 0 :(得分:2)
您最初的隔离似乎很好。您的Application Shell和引导程序需要位于Application类型项目中。休息一切都可以在一个类库中。如果将Views保留在单独的库项目中,则优点是可以替换它(更好的UI)而无需修改其他项目。
这取决于您的项目复杂性,您是否确实需要将这些类拆分为单独的项目。大多数时候只是命名空间就足够了。如果您要进行模块化设计,每个模块可能包含自己的视图/视图模型/模型,它有助于实现良好的抽象级别。
希望有所帮助。
答案 1 :(得分:2)
我作为承包商和全职员工参与了许多不同的MVVM项目,我认为这取决于您的开发周期的性质。如果您有一个程序员团队严格遵守TDD(例如)以及使用Blend的独立设计团队,那么您提供的示例是合理的。然而,在大多数项目中,我已经看到程序员几乎负责所有事情,包括手工编写XAML,在这些情况下,按应用程序系统而不是层级分组解决方案和文件夹要容易得多。您的大部分时间可能用于编写视图和查看模型代码,当您编辑其中时,您几乎总是会对另一个进行更改,这样可以避免让您在附近有很多麻烦,特别是随着您的应用程序的增长。
这些东西没有一个尺寸适合所有人,但我倾向于做一些大致相似的事情:
除此之外,第三方库还有各种其他项目(MVVM对话框,主题等)以及用于数据库维护的各种控制台和/或Windows实用程序。
这一切都是专门针对Windows应用程序的,非Windows解决方案也倾向于被添加到系统的单独MVC和WCF组件中,但这是另一篇文章! :)