Sobes.tech
Junior — Middle
277

Vai jūs varat paskaidrot, kas ir ražošanas metodes modelis un kam tas tiek izmantots?

Uzņēmumi, kur jautāja
AndersenAndersen
Grotem
Верме

Atbilde no 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
}

Такой подход помогает изолировать код создания объектов и облегчает добавление новых типов без изменения существующего кода.