我有兴趣制作一个像样的 WPF 应用程序,该应用程序将非常庞大。有人建议使用我们目前正在研究的 PRISM。我们可能会使用 MVVM 模式来实现此应用程序。我看了一些 PRISM 截屏视频,似乎 PRISM 主要用于注入(inject)具有不同 View 的区域。这是使用 PRISM 的主要目的吗?
我始终可以通过 ContentPresenter 使用 WPF MasterPages,那么为什么我应该使用 PRISM 来实现区域目的呢?
最佳答案
Prism 提供的不仅仅是区域系统。不详尽:
- View 模型命令系统
- 事件聚合器,用于解耦事件处理(内置很多选项,例如 GUI 线程调用、弱引用等)
- 加载模块的标准方法(如果您需要这种灵 active )
区域系统不仅仅是一个“内容呈现器包装器”。它可用于“推”(将 View 放入某个区域)或“拉”(让模块声明它们填充的区域)。它还支持的不仅仅是简单的内容呈现器区域(例如基于 ItemsControl 的区域),并且可以通过区域适配器进行扩展。
最后,但也许并非最不重要的一点是,当您采用 Prism 的形式主义时,您就押注于一种外人可能已经知道的通用“语言”(几乎是框架,即使 Prism 团队并不这样调用它),而不是重新发明你自己的东西,这需要有人学习一套全新的东西。对于一个长期存在的项目来说,这可能是一件好事(前提是 Prism 显然不会死得太早)。
关于.net - 我为什么要使用 Prism ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119731/