Denis Sitdikov
Ребят, помогите обойти "circular dependency".
Например, есть класс фабрика:
import { Class1 } from '/class1';
import { Class2 } from '/class2';
import { Class3 } from '/class3';
export class Factory {
create(name: string) {
switch (name) {
case 'Class1':
return new Class1();
case 'Class2':
return new Class2();
case 'Class3':
return new Class3();
}
}
}
Проблема в том что классы Class1, Class2 и т.д. должны уметь создавать так же эти классы, т.е. импортят Factory.
Отсюда круговая зависимость
"Factory" импортит "Class1", "Class1" импортит "Factory".
а если:
1) описать интерфейс фабрики
2) инъектить фабрику в классы
?