A Assembleia Legislativa utiliza diferentes sistemas operacionais (Windows, Linux) em seus gabinetes e precisa gerar relatórios de auditoria que sejam compatíveis com cada ambiente. O Analista de Sistemas deseja criar famílias de objetos relacionados (GeradorRelatorioWindows, GeradorRelatorioLinux e VisualizadorWindows, VisualizadorLinux) sem que o código cliente precise saber as classes concretas que estão sendo utilizadas.
O Padrão de Projeto Criacional ideal para fornecer uma interface para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas, é o