模块化应用(规模、性能、可能的问题)



我目前正在做一个项目(非常早期的阶段(,目标是创建模块化应用程序,通过添加新模块可以轻松扩展。模块可以是从简单功能到复杂插件(功能,UI,...(的任何内容。应用程序的核心包含部分,这些部分在应用程序的所有配置(登录、设置、一些通用功能(和集成插件的逻辑(如何加载它们、如何以及在何处添加新的 UI 元素......我正在使用带有MVVM模式(自定义MVVM框架(的WPF。我也在使用DevExpress。

我做了一些研究,我发现了MEF。这似乎是实现模块化/可扩展性的好方法。我已经做了一些测试,似乎它可以工作。但是,我没有找到任何有关MEF性能的信息。我有点担心可以使用多少模块。免得说我会有 40 个模块。10 个非常简单(单个函数(,20 个中等复杂度(类似于导出列表到 excel 的一些格式(,10 个更复杂的(具有一些 UI 元素的模块,几个带有可视化的窗口 - 图表,更复杂的逻辑,...启动时间会因此受到很大影响吗?应用程序是否运行正常,或者这是一个很大的禁忌。与常规应用程序相比,它是否以某种方式占用资源(CPU,RAM((所有代码都是应用程序的一部分(。

我将非常感谢这方面的任何建议(或者如果有其他/更好的方法来做到这一点(。

你可以尝试使用Prism框架。 https://prismlibrary.github.io/

棱镜提供四种插拔模块的方式:

  • 在代码中注册模块。
  • 从目录加载模块(也在 需求(。
  • 从 xaml 文件加载模块。
  • 从 app.config 文件加载模块。

现在我在棱镜上有 12 个模块的应用程序,它工作正常。

最新更新