Mind map
Protótipo
Map content
Protótipo
O que é?
- Especifica os tipos de objetos que serão criados através de protótipos
- Cria um novo objetivo criando um protótipo
- Especifica os tipos de objetos que serão criados através de protótipos
Problema
- No Java a técnica que mais se adequa ao padrão Protótipo é o clone()
- Cada subclasse de Prototype deve implementar a operação clone
- Quando a estrutura interna de uma classe é complexa
- Quando existe referência circular;
Quando usar
- Quando o seu sistema tiver que ser independente de como os seus produtos são criados, compostos e representados
- Quando as classes a instanciar forem especificadas em tempo de execução
- Exemplo, por carga dinâmica
- Para evitar a construção de uma hierarquia de classes de fábricas paralela à hierarquia de classes de produto
- Quando as instâncias de uma classe puderem ter uma dentre poucas combinações diferentes de estados
- Pode ser mais conveniente instalar um número correspondente de protótipos e cloná-los
- ao invés de instanciar a classe manualmente, cada vez com um estado apropriado
- Pode ser mais conveniente instalar um número correspondente de protótipos e cloná-los
- Quando as instâncias de uma classe puderem ter uma dentre poucas combinações diferentes de estados
- Quando as classes a instanciar forem especificadas em tempo de execução
- Quando o seu sistema tiver que ser independente de como os seus produtos são criados, compostos e representados
Vantagens
- Acrescentar e remover produtos em tempo de execução
- Adicionar um nova classe concreta de produto a um sistema, simplesmente registrando uma instância protótipo com o cliente
- O cliente pode adicionar e remover protótipo em tempo de execução;
- Adicionar um nova classe concreta de produto a um sistema, simplesmente registrando uma instância protótipo com o cliente
- Especifica novos objetos pela variação de valores
- Sistemas altamente dinâmicos permitem definir novos comportamentos através da composição de objetos
- por exemplo, pela especialização de valores para as variáveis de um objeto
- e não pela definição de novas classes.
- Esse tipo de projeto permite ao usuário definir novas “Classes” sem ter que programar
- EX: no editor musical, uma classe GraphicTool pode criar uma variedade ilimitada de objetos músicas.
- por exemplo, pela especialização de valores para as variáveis de um objeto
- Sistemas altamente dinâmicos permitem definir novos comportamentos através da composição de objetos
- Reduzir o número de subclasses
- Permite clonar um protótipo em vez de pedir um método fábrica para constuir um novo objeto
- Não necessitar-se de nenhuma hierarquia de classes;
- Permite clonar um protótipo em vez de pedir um método fábrica para constuir um novo objeto
- Acrescentar e remover produtos em tempo de execução
Information
- Description
- Mind Map on Protótipo, created by Jennifer Gonçalves on 03/09/2018.
- Created by
- Jennifer Gonçalves
- Views
- 0
- Rating