Junior — Middle
264
Оё метавонед шарҳ диҳед, ки паттерни усули фабрика чист ва барои чӣ истифода мешавад?
Ширкатҳо дар куҷо пурсиданд
Grotem
Верме
Ҷавоб аз AI
sobes.tech AI
Паттерн "Фабричный метод" (Factory Method) — это порождающий шаблон проектирования, который определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс создавать. То есть создание объектов делегируется подклассам, что обеспечивает гибкость и расширяемость.
В 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');
}
abstract class Dialog {
Button createButton();
void render() {
var button = createButton();
button.render();
}
}
class AndroidDialog extends Dialog {
@override
Button createButton() => AndroidButton();
}
class IOSDialog extends Dialog {
@override
Button createButton() => IOSButton();
}
void main() {
Dialog dialog = AndroidDialog();
dialog.render(); // Выведет: Android Button
dialog = IOSDialog();
dialog.render(); // Выведет: iOS Button
}
Такой подход помогает изолировать код создания объектов и облегчает добавление новых типов без изменения существующего кода.