对于 PRISM 应用程序推荐哪种程度的模块化?

Posted

技术标签:

【中文标题】对于 PRISM 应用程序推荐哪种程度的模块化?【英文标题】:Which degree of modularity is recommended for a PRISM application? 【发布时间】:2018-03-27 05:40:08 【问题描述】:

我对@9​​87654321@ 应用程序的模块化有一些疑问:

是否有任何(官方)参考资料提供有关此主题的建议? 您的个人经历是什么?您是否曾参与过一些策略更好的更大或更小项目? 模块过多或过少有什么缺点吗? 您会为应用程序的巨大部分/组件创建模块,还是为更小的部分创建模块,例如工具窗口或状态栏或类似的东西?

提前谢谢你!


如果您能评论我如何改进我的问题或您为什么拒绝它,我会很高兴。

编辑:作为附加信息:我的项目目前扩展到 > 30 个 Prism 模块。

【问题讨论】:

我没有投反对票,但我想你应该提供一些关于你的应用程序的信息。否则,几乎不可能给出明智的答案...... @Haukinger 对于我的问题,它是小型应用程序还是大型企业解决方案并不重要。我只是想知道是否有可以阅读的参考资料。 我对否决票的猜测:你问了 4 个问题。第一个是要求异地资源。其余的都在征求意见。您引用的链接适用于至少 3 年的资源。除了提出这个问题之外,您似乎几乎没有做任何研究。只需单击该问题上此 Prism 标记的Learn more… 链接,就可能会为您提供所需的大部分内容。许多问题不是关于编程问题,而是关于编程技术,这往往会引起争论和意见。 @R.Richards 我认为我的问题可以用一句话和一个网址来回答......我提到的非常过时的资源是一个很好的例子,为什么我找不到任何好的资源。 prism 标签的“了解更多...”描述包含当前文档的 404,另一个资源是 github 页面,我多次使用红色但没有回答我的任何问题。我已经研究了很多,但找不到任何好的东西......但我同意你的最后一个论点。 这里是文档。此链接位于 Prism 网站主页:prismlibrary.readthedocs.io/en/latest 【参考方案1】:

我已经使用 PRISM 开发了几个应用程序,并且有不同的方法可以在模块之间拆分代码:

    功能:如果您的应用程序可以使用不同的功能打开或关闭每个功能都应该是一个模块,因此您只有在该功能处于活动状态时才部署该功能。

    团队:如果您的应用程序将由不同团队开发,则团队编写的代码应位于一个或多个模块上。由于团队没有任何硬性参考,因此双方都可以在不与其他团队同步的情况下构建自己的模块。

模块对启动时间有影响,所以应该有理由创建它,你拥有的模块越多,启动速度就越慢。应该根据前面的两个假设创建一个模块。

【讨论】:

以上是关于对于 PRISM 应用程序推荐哪种程度的模块化?的主要内容,如果未能解决你的问题,请参考以下文章

用于模块化 MVVM 应用程序的 Prism + MEF 替代品 [关闭]

Prism 模块引用可移植类库

Prism 框架基础架构 模块设计

研究NIST FIPS 199

Prism for WPF再探(基于Prism事件的模块间通信)

Wpf PRISM一次性模块