我是一个IoC新手,因此我想知道它是否是我想要完成的工作的正确工具。
我正在编写一个多租户应用程序,我们可能希望在几个地方根据当前登录用户所属的组织使用不同的接口实现。
例如,当来自一个组织的用户创建工作订单时,需要向该用户的主管发送电子邮件。但对于所有其他组织,不需要发送该电子邮件。这是典型的策略模式。
我的问题是,我是否可以通过某种方式指示IoC容器查看某个运行时值(在这种情况下是已登录用户的OrganizationId
)以确定注入哪个IWorkOrderProcessor
接口实现到需要它的对象的构造函数中?
我目前正在使用Windsor,但使用其他容器的示例也可以。