Atividade: Factory Method e Abstract Factory
Atividade: Factory Method e Abstract Factory (vale nota)
Material: padroes-criacao.zip (projeto Eclipse na linguagem Java)
Baixe o material, descompacte e abra no Eclipse. Trata-se de um sistema para gerar documentação em dois formatos: HTML e Markdown. A geração da documentação é feita na classe CriadorDocumentacao
, que cria um documento em três partes: Cabecalho
, Corpo
e Rodape
.
Discussão em aula. Suponha que queremos adicionar um novo formato, LaTeX. Quais classes é preciso alterar? Se CriadorDocumentacao
fosse parte de uma biblioteca (que você não pode alterar), como você adicionaria um novo formato?
Atividade. Crie uma cópia do projeto original, com nome padroes-factory-method
, e aplique o padrão Factory Method para tornar CriadorDocumentacao
independente do formato da documentação.
Discussão em aula. E agora, como você faria para adicionar um novo formato sem alterar a classe CriadorDocumentacao
?
Atividade. Crie uma cópia do projeto original, com nome padroes-abstract-factory
, e aplique o padrão Abstract Factory para tornar CriadorDocumentacao
independente do formato da documentação.
Discussão em aula. Quais os prós e os contas de cada solução (Factory Method vs Abstract Factory)?
Entrega. Crie um arquivo .zip
contendo as duas pastas dos projetos derivados (padroes-factory-method
e padroes-abstract-factory
) e envie para rodrigo@dcc.ufba.br até domingo, 9 de outubro de 2016 26/10/2016.