Junior — Middle
149
Объясните принцип работы и назначение паттерна 'Фабрика' в разработке программного обеспечения.
AI-дан жауап
sobes.tech AI
Паттерн «Фабрика» (Factory) предназначен для создания объектов без необходимости явно указывать конкретный класс создаваемого объекта. Это позволяет отделить код создания объектов от их использования, облегчая расширение и поддержку.
В Flutter (и Dart) паттерн фабрики часто используется для создания виджетов или сервисов, где конкретный тип объекта выбирается динамически.
Пример:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() => print('Android Button');
}
class IOSButton implements Button {
@override
void render() => print('iOS Button');
}
class ButtonFactory {
static Button createButton(String platform) {
if (platform == 'android') {
return AndroidButton();
} else if (platform == 'ios') {
return IOSButton();
} else {
throw Exception('Unsupported platform');
}
}
}
void main() {
var button = ButtonFactory.createButton('android');
button.render(); // Выведет: Android Button
}
Такой подход упрощает добавление новых типов кнопок без изменения клиентского кода.