c# - Microsoft Prism 是否适合开发非 GUI 模块化实时服务器?

标签 c# module unity-container prism ioc-container

我正在开发一个服务器端应用程序,它应该根据模块是否作为程序集存在而在启动时动态加载模块。我以前做过类似的事情,但这次是生产代码,我想使用框架进行模块化和实例化(使用 IoC 容器)。我最初发现 Microsoft 的 Prism(带有 Unity)是执行此操作的合适框架,但随着我实现初始化和引导,我越来越担心。服务器将没有自己的 GUI,并且可能会在以后作为 Windows 服务运行。 (同时,我将其开发为一个简单的控制台应用程序。)将开发各种客户端(每个模块大约一个客户端应用程序)以通过 WCF 与服务器交互。

我是否应该为这样的应用程序使用 Prism,因为它似乎非常适合支持 GUI 的应用程序?我在使用基类 Microsoft.Practices.Prism.UnityExtensions.UnityBootstrapper 时停止编码,这需要实现 CreateShell() 方法。我有点希望它被命名为 Run() 或类似的名称。我真的没有 shell,或者至少没有 GUI shell。我是否对此读了很多书,使用 Prism 而不必担心它具有潜在的冗余 GUI 功能是否有意义?我是否使用了正确的工具来完成工作?

最佳答案

我想你已经知道答案了。 Prism 用于客户端应用程序。即使您在您的服务器环境中实现了此功能,也会有很多框架妨碍您。您确实想使用 IoC 容器,并且您已经为此使用了 Unity(Prism 默认使用 Unity)。我的建议是,放弃 Prism,开始使用 Unity 连接一切。动态加载程序集非常容易。您不需要仅用于加载程序集的臃肿框架。

关于c# - Microsoft Prism 是否适合开发非 GUI 模块化实时服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18353608/

相关文章:

c# - 复杂对象的反序列化#

c# - 如何使用C#获取word文档中的段落编号?

python - 如何在 python 中导入 matplotlib

c# - InspirationContext 不持久化内容

c# - 如何获取在 Unity 中注入(inject)的对象的类型?

c# - 是否有用于 C# 的 CSS 解析器?

c# - 以编程方式将音频转换为文本

javascript - 使用 Browserify 加载 Node.js 模块

python - 覆盖 python 日志配置

c# - unity自动注入(inject)