【发布时间】:2011-03-04 21:01:14
【问题描述】:
我一直在使用工具来注册我的组件,但注意到了 IWindsorInstaller。
它看起来和我很相似,我想知道两者之间有什么区别以及应该在哪里使用哪个。
【问题讨论】:
标签: .net castle-windsor
我一直在使用工具来注册我的组件,但注意到了 IWindsorInstaller。
它看起来和我很相似,我想知道两者之间有什么区别以及应该在哪里使用哪个。
【问题讨论】:
标签: .net castle-windsor
丹,
区别如下:
Configuration 类或 FromAssembly 类,您可以使用它们来使用配置文件,或自动发现您的安装程序并一次性运行它们,因为在大多数应用程序中您将拥有其中的几个。
TypedFactoryFacility 这样的东西,它增加了自动创建工厂以透明地从容器中提取组件的能力。您有StartableFacility,它允许组件启动/停止,而无需您明确担心。您还可以使用 NHibernate、WCF、Monorail 或 ASP.NET MVC 等集成工具,让 Windsor 了解与它一起使用的其他框架的某些方面,从而使您的工作更轻松。在功能方面,设施可以有自己的配置。也没有帮助批量添加功能的工具,因为在大多数应用中您只需要几个。它们都可以注册内容,但主要区别在于 - 安装程序注册您的应用程序需要的任何内容(包括添加设施)。另一方面,设施会记录他们完成工作所需的内容。
这通常意味着设施向容器注册扩展,例如自定义解析器、ComponentModel 构造贡献者或拦截器——根据定义,它们知道容器。
安装程序注册的应用程序级组件最好完全不了解容器。
希望这可以使区分更加清晰。
【讨论】: