棱镜模块化/类型交换

时间:2016-09-23 08:14:12

标签: c# unity-container prism

我试图建立一个基于codeplex prism unity的应用程序。而且我很难理解如何实现一个非常松散耦合的应用程序。

在我的理解中,模块应该是应用程序的完全独立的工作部分。换句话说,在另一个内部应用。意味着从一个开发项目到另一个开发项目没有参考。

但是模块之间的交换是如何发生的?我正在使用eventaggregator,它工作正常,但我需要一个messagetype(提供数据的类)在发送和接收模块中。如果我想在没有引用的情况下工作,我就不得不复制messagetype。我可以使用第三个模块,它为两个模块提供消息类型,但是如何在不引用第三个模块的情况下使用messagetype?

当我尝试在unity容器中注册messagetype时,我仍然遇到编译器错误。这对我来说很明显,因为模块a在编译时并不知道第三个模块,模块b也不知道。

我是否遇到过复合应用程序的限制,还是我错过了一块拼图?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您不需要为公共数据类创建第三个模块。为这些类创建一个公共项目并在模块之间共享它。 如果需要注册任何类,请使用Bootstrapper而不是特定模块。