0

我正在 WPF 中开发一个非常小的应用程序,在对 Caliburn.Micro 和 MVVM Light Toolkit 不满意后,我决定使用Prism 6.0框架。

我希望能够在我的应用程序中使用区域,但我不想使用 Unity 和依赖注入,因为它对于这个应用程序来说太过分了。

如果我想要一个 Shell,它是一个定义了一个区域的主窗口,该区域将在其一个区域中显示 ViewA 或 ViewB,我该如何在不使用 Unity 或 UnityBootstrapper 的情况下做到这一点?我无法弄清楚这一点,因为所有在线示例和学习材料都使用 Unity 或其他一些 DI 系统。

编辑:进一步澄清:我主要是尽量避免使用 Unity/DI,因为它迫使我使用这个应用程序非常小的模块,我不会从模块中受益,它只会使项目更难理解新的眼睛。

4

1 回答 1

1

Prism 依赖于 IoC 才能发挥作用。您必须有一些东西可以解析 Prism 应用程序中的对象。这可以是内置 DI 容器之一,也可以是使用简单 Activator.CreateInstance 的自定义实现。

无论您使用受支持的 DI 容器还是您自己的实现,都不需要使用模块。如果您不需要它们,请不要使用它们。Prism 中没有任何东西强迫您使用模块。

我很想知道您认为 Prism 是什么“矫枉过正”,因为这是一个超载的术语,通常这些评论没有很好地表达。

于 2016-11-01T20:35:16.763 回答