{
if (kind === 'battle') return battleDroidFactory;
return pilotDroidFactory;
}
function battleDroidFactory() {
return new B1();
}
function pilotDroidFactory() {
return new Rx24();
}
class B1 {
info() {
return "B1, Battle Droid";
}
}
class Rx24 {
info() {
return "Rx24, Pilot Droid";
}
}
export default droidProducer;
зачем здесь нужен droidProducer понятно, но зачем лишние фабрики - непонятно, ведь можно сделать просто new B1(), что изменится?
а если ты потом решишь возвращать класс не B1? тебе придется везде пройтись и поменять своё new B1...
Всё верно сказали выше, фабрики проще понять в контекстах, где они реально нужны) Ну и да, may the force be with you)
Обсуждают сегодня