Sobes.tech
Back to questions
Junior — Middle
106

Можешь перечислить основные шаблоны проектирования, связанные с созданием объектов?

Companies where asked
AndersenAndersen

Answer from AI

sobes.tech AI

Основные шаблоны проектирования, связанные с созданием объектов, включают:

  • Singleton — гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к нему.
  • Factory Method — определяет интерфейс для создания объекта, позволяя подклассам решать, какой класс инстанцировать.
  • Abstract Factory — предоставляет интерфейс для создания семейств связанных объектов без указания их конкретных классов.
  • Builder — отделяет конструирование сложного объекта от его представления, позволяя создавать разные представления.
  • Prototype — создает новые объекты копированием существующих (клонированием).

Пример Factory Method на Dart (Flutter):

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
}