我目前正在构建一个 MEF 项目,以便我可以学习如何在实际应用中使用它。我已经成功导入了一个 DataHandler 模块来提供数据库连接和其他集中的数据库操作。
现在我正在考虑一种为其他导入模块提供方法的方法。例如,如果安全模块需要与数据库的连接,它就能够请求数据库连接。现在,我有一种方法可以让模块检测 DataHandler 是否可用,因为 Host 应用程序将其公开。所以我想知道是否有一种方法可以使用EventAggregator来发布一种类型的事件,其中订阅者(安全模块)只需触发一个事件并获得一个DbConnection
对象作为回报。
如果 EventAggregator 是答案,我可以使用一些提示来说明如何。请记住,我仍在研究......不仅仅是要求teh codez。如果有更好的解决方案,我对选项感兴趣。
我目前正在查看Denis Vuyka的这篇文章
编辑
EventAggregator 看起来可能不是正确使用的工具。我可以在我的主机应用程序中实现某种松散耦合的消息传递吗?服务定位器或命令模式是否可以实现?