Junior — Middle
92
V jakých případech se používá vzor Abstract Factory při vývoji softwarových systémů?
Odpověď od AI
sobes.tech 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();