我一直在网上寻找一段时间,但无法找到确切的答案。好吧,他们说为类注入抽象(接口或其他),而不是让它创建它需要的实例,或者不是传递实现类型。松耦合和返回对象
class Foo
{
private IBar _bar;
public Foo(Ibar bar)
{
_bar = bar;
}
}
虽然我不完全理解上面是如何合理地松散耦合,但我在这一点上的问题是关于别的东西。也就是说,如果一个方法必须返回某个事物的实例呢?例如,如何可以松散耦合:
class Foo
{
public IBar GetMeSomething()
{
return new Bar(); // dependency here
}
}
我只是想知道如何解决上面的依赖关系吧?任何有经验的程序员请帮助我理解这一点。或者有人可能会建议一些文章全面讨论消除/减少类型相互依赖关系的所有场景。