У меня есть фабрика, которая делает объекты, которые зависят от внешнего объекта, передать его в конструктор фабрики?Заводской шаблон с внешней зависимостью
3
A
ответ
2
Поскольку Factory Method вызывает объект connstructor, вы должны передать все необходимые паразиты заводскому методу. Рассмотрим folowing:
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 для снижения таких зависимостей.
+0
Отлично, сэр, спасибо! – jiji
1
Я не уверен, но вы можете взглянуть на инверсию управления и инъекции зависимостей. Требуется немного, чтобы обернуть голову, но это шаблон для работы с зависимостями.
Да. .......... –
Есть ли лучший способ? Разве эта фабрика не будет зависеть от этого внешнего объекта? – jiji