Sobes.tech
Junior — Middle
149

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

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
}

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