Sobes.tech
Back to questions
Junior — Middle
109

Объясните принцип работы и назначение паттерна 'Фабрика' в разработке программного обеспечения.

Answer from AI

sobes.tech 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
}

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