在我们正在进行的项目中,我们使用 Castle Windsor 作为 IOC 容器。目前,为了灵活性,我们在配置文件中指定了所有依赖项。
我们的配置文件有点大,为了使绑定更容易管理,我更愿意将它们放在代码中。当然,这意味着我失去了在生产环境中轻松更改某些绑定的灵活性。
我想知道是否可以让配置文件中的绑定覆盖代码中的绑定。这意味着我可以在代码中指定所有默认绑定,然后如果我想在生产中更改绑定,则添加一个配置文件,但有一些例外。
因为我使用的是温莎城堡,所以我对这在温莎城堡是否可行很感兴趣。但是,我们正在考虑迁移到不同的 IOC 容器(例如 NInject)。因此,如果另一个人可以做得更好,那么我也对那一点信息感兴趣。
(PS:我也在研究自动绑定,因为我们的大多数接口都只是用于单元测试目的,并且只有一个类用相同的名称减去“I”来实现它。我什至考虑将这些接口放入与实现相同的文件。)
提前致谢。
更新
我找到了一个不错的 Ninject 扩展,它可以让我以我想要的方式进行自动绑定。我还发现了一个用于进行 XML 绑定的 Ninject 扩展。但是,我找不到这些 XML 绑定是否会覆盖代码绑定。