Tópico 07 - Abstract Factory
Mapa de Configuração
A fábrica concreta pode ser escolhida por configuração (arquivo, propriedade de sistema, ServiceLoader):
String estilo = config.get("mobilia.estilo");
Map<String, FabricaMobilia> fabricas = Map.of(
"moderno", new FabricaMobiliaModerna(),
"vitoriano", new FabricaMobiliaVitoriana()
);
FabricaMobilia fabrica = fabricas.getOrDefault(estilo, new FabricaMobiliaModerna());
- permite trocar a família sem recompilar
- muito usado em temas, drivers e provedores