Назад к вопросам
Junior — Middle
150
Какова роль и применение шаблонов фабричных методов в программировании?
Компании, где спрашивали
Pashapay
Ответ от нейросети
sobes.tech AI
Шаблон фабричного метода (Factory Method) используется для создания объектов без указания конкретного класса создаваемого объекта. Он определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс инстанцировать.
В Flutter (и в программировании в целом) фабричные методы применяются для:
- Инкапсуляции логики создания объектов, особенно если создание сложное или зависит от условий.
- Позволяют менять конкретный класс создаваемого объекта без изменения кода, который его использует.
- Упрощают тестирование и расширяемость кода.
Пример в Dart/Flutter:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() => print('Render Android button');
}
class IOSButton implements Button {
@override
void render() => print('Render iOS button');
}
class Dialog {
Button createButton(String platform) {
if (platform == 'Android') {
return AndroidButton();
} else if (platform == 'iOS') {
return IOSButton();
} else {
throw Exception('Unknown platform');
}
}
void render() {
Button button = createButton('Android');
button.render();
}
}
Здесь метод createButton — фабричный метод, который создает разные объекты в зависимости от платформы.