工厂模式与外部依赖

时间:2010-01-28 07:26:43

标签: c# factory

我有一个工厂生产依赖外部对象的对象,我是否在工厂的构造函数中传递它?

2 个答案:

答案 0 :(得分:2)

因为Factory Method调用了对象connstructor,所以你应该将所有必要的参数传递给factory方法。考虑一下:

class Foo {
} 

class Boo {
  public Boo(Foo foo) {}
}

static class BooFactory {
  public static Boo CreateBoo(Foo foo) {
     return new Boo(foo);
  }
}

另一种选择,正如aaronls所说,你可以使用Inversion of Control来减少这种依赖。

答案 1 :(得分:1)

我不确定,但你可能想看一下控制和依赖注入的反转。让你的头脑缠绕需要一点时间,但这是一种专门处理依赖关系的模式。