我有一个模块化的应用程序,它的行为很像一个插件系统。模块B依赖于模块A.当B存在时,模块A中需要更改一些对话(标题等)。另外,当模块B存在时,我应该使用不同的实体作为列表包含在模块B中,所以A在编译期间不知道它。在A中为实体创建一个抽象基础也是我想要避免的。面向组件的设计:与对话框中的依赖关系的问题
您将如何实施此要求?这些模块可以以不同的方式沟通:
1.) Microsoft Unity is used for Object creation and dependency injection
2.) The modules can communicate via a Message-System.
3.) There's an EventAggregator which all the modules can use
我不想sublcass在模块B的对话,只是改变团结typemapping,因为那时我不得不提供另一模块整个对话框。另外,如果某个其他模块想要对对话框进行其他更改,则不可能。
建议欢迎!
我非常喜欢SharedContex的想法!它似乎是可扩展的。 – Falcon 2011-03-31 17:30:45