运行时Castle-Windsor交换服务

时间:2020-03-06 14:43:35  来源:igfitidea点击:

假设我们将税收服务的接口定义为ITaxService,并且得到了不止一个TaxService实现(按区域),但是我想将特定的税收实现添加到特定地区的特定客户。

DI在这种情况下会有所帮助吗?如何? "代码片段将不胜感激"

解决方案

不了解更多,这似乎适合实施策略模式(http://en.wikipedia.org/wiki/Strategy_pattern)。

像Windsor这样的依赖注入工具可以用作工厂的一种形式,以确定在给定情况下使用的正确策略(税收服务)(例如,键入区域标识符),但它给我的印象更多将该工具作为对象存储库,而不是专门用于依赖项注入。