【问题标题】:C# Prism Composite Application module loadingC# Prism 复合应用程序模块加载
【发布时间】:2011-10-09 22:16:31
【问题描述】:

是否有一种自然的方法可以在 prism 中的复合应用程序模式的模块中注册模块?

假设我们在 prism WPF 应用程序中有一个模块 A,它需要加载和注册模块 A1、A2、...、An。

在我看来,在引导程序中将所有“嵌套”模块 A1 注册到 An 的方法是“脏”的,因为这些模块在逻辑上属于模块 A。

应该在 A 的 Initialize() 方法中手动将 A1 加载到 An 还是有更自然的方法可以很好地适应通用模块模式?

【问题讨论】:

  • 你现在如何加载模块(至少是模块A)?
  • @PVitt 与统一容器的使用。我想到传递容器本身可能是一种解决方案,以便模块可以代表它加载子模块。
  • 抱歉这个不精确的问题。您使用什么类型的模块目录(例如 DirectoryModuleCatalog)?
  • @PVitt 我没那么远,但现在我将尝试使用容器注入本身来加载模块 A1...在模块 A 中。无论如何谢谢 :-)跨度>

标签: c# design-patterns module prism


【解决方案1】:

如果 A1..An 是可组合或可共享的,它们应该由引导程序加载,以便其他模块可以使用它。如果只有模块 A 会使用它们,我认为最好不要将它们视为棱镜模块,因为它们(可能)仅用于实现模块 A 的功能,而不是您正在构建的模块化软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多