Sobes.tech
Junior — Middle

In quali casi viene applicato il pattern Abstract Factory nello sviluppo di sistemi software?

sobes.tech AI

Risposta dell'AI

Паттерн 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();