Padrões de Projeto Prototype
Prototype Classificação Motivação Objetivo Padrão de criação Criar novos objetos com baixo custo e complexidade Objetivo Criar novos objetos como uma cópia (clone) de uma instância de um protótipo © LES/PUC-Rio
Prototype Aplicabilidade Quando é mais conveniente copiar uma instância do que criar uma nova Reduzir a complexidade introduzida pelo padrão Abstract Factory © LES/PUC-Rio
Prototype Estrutura © LES/PUC-Rio
Prototype Participantes Colaboração prototype: classe que declara uma interface para objetos capazes de clonar a si mesmo prototype concreto: implementação de um prototype cliente: cria um novo objeto através de um prototype que é capaz de clonar a si mesmo Colaboração Cliente solicita que um protótipo se clone © LES/PUC-Rio
Prototype Implementação Criar uma classe/interface prototype Crie protótipos (classes que estendem/implementam a classe/interface prototype) que são capazes de se clonar Clonar os protótipos como o desejado... © LES/PUC-Rio
Prototype Exemplo em Java: © LES/PUC-Rio
Prototype Exemplo em Java (continuação): © LES/PUC-Rio
Prototype Consequência Reduz custo Reduz a complexidade © LES/PUC-Rio