【发布时间】:2020-05-23 13:55:01
【问题描述】:
我对 Prism 中的模块非常陌生,并且正在努力了解如何正确使用它们。我想要一个如下图所示的导航面板,这是我从谷歌那里偷来的。
假设我有 3 个模块用于 3 个独立的关注点:NavigationModule、HelpModule 和 FeedbackModule。如果我想在应用首次加载时显示“帮助”,我的理解是我会执行以下操作:
- 在我的 Shell(主 WPF 项目)中为导航和内容定义区域
- 执行时,将导航视图加载到导航区域中
- 在
NavigationModule初始化后,将HelpModule中的视图加载到主要内容区域中
这给我留下了几个关于哪些模块应该相互了解的问题:
- Shell 的项目是否应该引用
NavigationModule以加载其视图? -
NavigationModule是否应该引用HelpModule以加载其视图?并引用FeedbackModule以便按需加载其视图?
如果这些问题的答案是“否”,那么模块了解彼此观点的最佳方式是什么?我可以为视图名称创建一个带有常量的共享类库,但是以这种方式维护一堆字符串似乎有点麻烦,而对于引用我可以使用nameof()。我会很感激任何方向。谢谢。
【问题讨论】: