的MVVM方法鼓励(或只是提供了可能性)拆分WPF或Silverlight应用程序到型号,视图模型和查看项目,使所有三个可能的时候存在于他们自己的集会中。另一方面,我们可以构建一个模块化的应用程序,该应用程序分为一组功能单元(命名模块),每个单元在这种情况下,是一个单独的组件。
我说得对,在这种情况下,我们可以在自己的组件分离的只有型号,但查看和视图模型应该坐在一个组件,代表一个功能模块?拆分应用程序的部分用Prism
2
A
回答
4
首先,模块不等于组件。您可以在几个组件之间传播模块的零件(包括模型,视图和视图模型)。尽管通常您将与模块相关的类放在一个DLL或XAP文件中(如果您的模块是独立的Silverlight应用程序,则为Silverlight)。
作为你的情况,如果一个模型是可以由数个模块中使用的共用实体,棱镜鼓励将其放置在不断共享的非模块特定的逻辑所谓的基础设施组件。否则,将MVVM部件放在一起可能是一个好主意,因为它们可以解决常见的业务任务。将来,如果您需要替换MVVM的某个部分的实现,则只需添加一个新的部分并调整容器的映射即可。
3
是,棱镜鼓励你把一切(模型,视图和视图模型)合并为一个自包含的功能模块。
在任何情况下,我强烈不建议你拆分视图和视图模型为单独的项目。这是因为它们紧密耦合在一起并且是并行开发的。
嗯,有你如何安排你MVVM应用推荐两个方法。首先是按层组织项目,并将视图和视图模型放入项目中的单独文件夹中。其次,当您按功能创建文件夹并且不会分离视图和查看模型时,即它们并排位于同一个文件夹中。我个人选择第二个,因为正如我所提到的,它们总是一起开发和维护,这样就很容易找到相应的视图或视图模型。
相关问题
- 1. 拆分C#应用程序到模块部分
- 2. 将Android应用拆分为两部分
- 3. Prism应用程序的部署选项
- 4. Android“拆分视图”应用程序
- 5. 如何拆分Android应用程序
- 6. UI拆分视图应用程序ipad
- 7. 代码拆分vuex应用程序
- 8. 如何拆分ui5应用程序
- 9. 如何将Android应用程序拆分为lib +应用程序
- 10. 在.NET 3.5 WPF应用程序的某些部分中使用Prism 2x
- 11. 应用程序的可重用部分
- 12. C++ lambda的部分应用程序?
- 13. 部分应用程序的Webview
- 14. Haskell应用程序或部分?
- 15. 应用程序部分关闭
- 16. NGen为部分信任应用程序
- 17. 内部应用程序分配 - iPhone
- 18. 部分Ngrx/Redux应用程序
- 19. 分发/部署JavaFX应用程序
- 20. iOS内部应用程序分配
- 21. Facebook Canvas应用程序部分加载
- 22. 12应用程序代码库因素我应该拆分
- 23. iPad拆分视图应用程序 - DetailViewController方法从未调用
- 24. 基于拆分视图的应用程序的初始视图
- 25. 拆分为两个部分
- 26. 只分析Java应用程序的某些部分/类
- 27. 将CouchDB作为Rails应用程序的一部分分发?
- 28. 如何在Apache骆驼中使用内部拆分的外部拆分的CamelSplitIndex
- 29. 分发应用程序的
- 30. 如何拆分我的Web应用程序?