Sobes.tech
Junior — Middle
85

Milyen esetekben alkalmazzák az Abstract Factory mintát szoftverrendszerek fejlesztése során?

Válasz az MI-től

sobes.tech MI

Паттерн Abstract Factory применяется, когда нужно создавать семейства взаимосвязанных объектов без указания конкретных классов создаваемых объектов. Это полезно, если:

  • Требуется обеспечить независимость кода от конкретных реализаций продуктов.
  • Нужно гарантировать совместимость создаваемых объектов между собой.
  • Необходимо легко менять семейства продуктов, не меняя клиентский код.

Например, в GUI-приложении Abstract Factory может создавать набор виджетов для разных платформ (Windows, macOS, Linux), обеспечивая, что все виджеты из одного семейства выглядят и работают согласованно.

Пример на Java:

interface GUIFactory {
    Button createButton();
    Checkbox createCheckbox();
}

class WinFactory implements GUIFactory {
    public Button createButton() { return new WinButton(); }
    public Checkbox createCheckbox() { return new WinCheckbox(); }
}

class MacFactory implements GUIFactory {
    public Button createButton() { return new MacButton(); }
    public Checkbox createCheckbox() { return new MacCheckbox(); }
}

// Клиентский код
GUIFactory factory = getFactoryForCurrentOS();
Button btn = factory.createButton();
Checkbox cb = factory.createCheckbox();