Sobes.tech
Назад к вопросам
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 — фабричный метод, который создает разные объекты в зависимости от платформы.