1
0
好消息是,你所要求的是可能的,并不难管理。 关于插件管理,您可以看一下Microsoft Prism( http://msdn.microsoft.com/fr-fr/magazine/cc785479.aspx )这是关于模块化应用程序开发的几个好特性。 大约1。您可以在单独的映射中映射子类,在单独的程序集中查找NH文档。子类的单独映射文件如下所示:
大约2。您可以保留核心域映射。一个简单的方法是创建一个服务(比如imappingloader),您的插件可以用来注册额外的映射(而不覆盖基类映射)。此服务的实现将添加到NH配置类的映射。例如,在Microsoft Prism中,所有插件都必须实现IModule接口,加载时调用函数initialize()。此函数是调用imappingloader服务的理想位置。 希望它有帮助。 |
2
0
为了获得可扩展的域模型,我将使用许多工厂。工厂可以通过依赖注入进行交换,域对象应该根据接口进行编码。 例如,可以通过fluent nhibernate进行映射,这些映射可以在插件程序集中进行。 最后,我将向插件程序集添加可加载配置,该程序集设置DI容器并加载新映射。对于主程序集,可能有用于插件配置的扫描仪。也许吧 MEF 你可以在这里帮忙,也可以自己做,这不应该很复杂。 |