【发布时间】:2017-02-16 12:49:50
【问题描述】:
类A 有一个字段factory,它产生一个产品B。 factory 是使用依赖注入注入的。注入factory是否隐藏了类A对类Product的依赖?
问这个问题的目的:在编码的时候,我做了一些和示例代码一样的代码,我不知道它是否是好的设计。我认为隐藏依赖可能是一个糟糕的设计。
示例代码:
class A
{
private Factory factory;
public A(Factory factory)
{
this.factory=factory;
}
public Product getProduct()
{
return factory.produce();
}
public void doSomething()
{
Product B = getProduct();
// use Product to do something
}
}
【问题讨论】:
-
工厂是一个额外的间接层,它是often unneeded。
-
请详细说明您提出问题的目的。我可以回答“是的,它确实隐藏了这种依赖关系”,但我不确定这是否对你有帮助。
标签: design-patterns dependency-injection language-agnostic factory