2014-03-25 56 views
1

假设我有一个IoC容器,它将依赖项Dependency注入到某些类中。在所有依赖实例中更改注入的依赖关系

public class A 
{ 
    A(Dependency d) { _d = d } 
} 

public class B 
{ 
    B(Dependency d) { _d = d } 
} 

,如果B应该是能够改变的依赖,使得A可以访问新的依赖,那么怎么可能在一个好办法呢?

+0

将依赖项作为属性公开。 –

+1

你为什么要'B'来改变依赖关系?依赖注入的重点在于,消费类对其依赖关系具有* no *控制权。你能分享更多关于问这个问题的动机的信息吗? –

+0

@MarkSeemann假设'B'正在从程序中其他地方需要的文件中加载信息。 'B'知道如何加载内容。 – kasperhj

回答

0

如果可能使依赖一个单,让你有副作用 这样,当您更改B类的依赖,一看到变化, 因为塔你通过在类A和B的对象是相同。