【发布时间】:2013-12-19 08:26:04
【问题描述】:
我最近正在尝试处理 DI。 如果到目前为止我理解正确,主要目的是编写松散耦合的代码,以促进可重用性。 (另见https://stackoverflow.com/a/9503612/579740)
到目前为止一切都很好,但我仍然不完全清楚的一件事是放置接口的位置。
一个例子能说出一千多个单词:
库 A:
public class A
{
public A(IInterfaceB b)
{}
}
库 B:
public interface IInterfaceB
{}
public class B : IInterfaceB
{
public B (IInterfaceC c)
{}
}
库 C:
public interface IInterfaceC
{}
public class C : IInterfaceC
{
public C()
{}
}
如果我将 IInterfaceC 放在库 C 中,我仍然在库 B 中引用了库 C。 所以当我决定重用B库时,我还需要C库??? 至少在我看来,这似乎不是松散耦合的......
有人可以向我解释我的想法哪里出错了吗?
【问题讨论】:
标签: interface dependency-injection