棱镜模块化/类型交换

本文关键字:交换 类型 模块化 棱镜 | 更新日期: 2023-09-27 18:08:38

我正在尝试构建一个基于codeplex prism unity的应用程序。我很难理解如何实现一个真正松散耦合的应用程序。

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

但是模块之间的交换是如何发生的呢?我使用的是运行良好的eventaggregator,但是在发送和接收模块中都需要一个messagetype(提供数据的类)。如果我想在不引用的情况下工作,我就必须复制messagetype。我可以使用第三个模块,它为两个模块提供了messagetype,但是我如何在不引用第三个模块的情况下使用messagetype呢?

当我尝试注册统一容器内的消息类型,我仍然得到一个编译器错误。这对我来说很明显,因为模块a在编译时不知道第三个模块,模块b也不知道。

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

提前感谢您的帮助!

棱镜模块化/类型交换

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