如何使用 Prism 和 Unity 实现真正的松散耦合

how to achieve true loose coupling using Prism and Unity

我已经使用 PrismUnity 框架开发了一个 WPF 应用程序,但我对以下是否正确实施它们感到担忧。

Abstract classes / Interfaces

我会根据需要选择尽可能多的 "interface-assemblies",太多会造成伤害。示例:如果您需要 防止第 1 层与第 3 层潜在通信,请将第 1 层到第 2 层的接口放在一个组件中,并将第 2 层到第 3 层的接口放在一个组件中在另一个。

View Model dependencies

通常,您根本不需要传递视图模型。传递数据(a.k.a.model),视图模型本身不保存任何其他地方不可用或对任何人有价值的数据,但视图绑定到视图模型。

Abstract Module Class

您的 prism 应用程序 引用了 prism...那又怎样?只要 IModule 实现收到 IUnityContainer 我根本不会在意。如果有人需要发布事件,他会得到 IEventAggregator...这已经是一个接口,您可以在测试中注入模拟,因此无需进一步抽象。