【发布时间】:2014-11-23 07:11:31
【问题描述】:
我已经在互联网上寻找了一段时间,但找不到确切的答案。好吧,他们说将抽象(接口或其他东西)注入到一个类中,而不是让它创建它需要的实例,或者传递一个实现类型。
class Foo
{
private IBar _bar;
public Foo(Ibar bar)
{
_bar = bar;
}
}
虽然我不完全理解上面是如何合理松散耦合的,但我现在的问题是关于其他的。也就是说,如果一个方法必须返回某个东西的实例怎么办。例如,如何使以下内容松散耦合:
class Foo
{
public IBar GetMeSomething()
{
return new Bar(); // dependency here
}
}
我只是想知道如何解决上述对 Bar 的依赖?任何有经验的程序员请帮助我理解这一点。或者有人可能会建议一些文章全面讨论消除/减少类型相互依赖的所有此类场景。
【问题讨论】:
标签: dependency-injection inversion-of-control loose-coupling