Junior — Middle
Erklären Sie das Funktionsprinzip und den Zweck des 'Factory'-Musters in der Softwareentwicklung.
sobes.tech KI
Antwort von 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
}
Такой подход упрощает добавление новых типов кнопок без изменения клиентского кода.