A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Design Patterns Prototype Projeto de Sistemas de Software Gustavo Soares Souza

Apresentações semelhantes


Apresentação em tema: "Design Patterns Prototype Projeto de Sistemas de Software Gustavo Soares Souza"— Transcrição da apresentação:

1 Design Patterns Prototype Projeto de Sistemas de Software Gustavo Soares Souza

2 © LES/PUC-Rio Sumário Prototype o Propósito o Motivação o Aplicabilidade o Estrutura o Participantes o Colaboradores o Consequência o Exemplo

3 © LES/PUC-Rio Design Patterns –Abstract Factory –Builder –Factory Method –Prototype –Singleton –Adapter –Bridge –Composite –Decorator –Facade –Flyweight –Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor Padrões de Criação Padrões Estruturais Padrões de Comportamento

4 © LES/PUC-Rio Prototype Motivação Evitar o custo computacional na criação de objetos com a palavra chave new como a maioria dos padrões de criação sugerem Imagine um cientista trabalhando em um laboratório que deseja poder clonar animais, preservando todo o seu material genético Para cada tipo de animal o cientista já tem um modelo (protótipo) já pronto para clone Fazendo uma abstração para sistemas de softwares, o ideal seria que o cientista nao precisasse conhecer os protótipos existentes para cada um dos animais, ele apenas diz para a classe Animal, por exemplo, que ele deseja clonar uma ovelha

5 © LES/PUC-Rio Prototype Propósito Criar objetos específicos a partir da instância de um protótipo, permitindo criar novos objetos a partir da cópia (clone) deste protótipo Objetos são criados a partir de um modelo

6 © LES/PUC-Rio Prototype Aplicabilidade Altamente recomendado quando um sistema precisa ser independente da forma como seus componentes são criados, representados e compostos Quando as classes a serem instanciadas são especificadas em tempo de execucação Sistemas onde pode ser conveniente disponibilizar um conjunto pré- estabelecido de protótipos que dão origem aos objetos que compoe o sistema

7 © LES/PUC-Rio Prototype Estrutura

8 © LES/PUC-Rio Prototype Participantes Prototype o interface ou classe abstrata que define o método para clonar a si próprio ConcretePrototype o implementa o método para clonar a si próprio Client o cria um novo objeto solicitando a um protótipo uma cópia de si mesmo

9 © LES/PUC-Rio Prototype Colaboração A interação entre os participantes deste padrão é bem simples. Um cliente requisita a um Protótipo um clone de si próprio

10 © LES/PUC-Rio Prototype Consequência Adição e remoção de classes em tempos de execução Redução do número de subclasses, uma vez que se pode clonar um protótipo em vez de pedir a um método (Abstract Factory) para construir um novo objeto. O cliente tem que interagir com a interface (ou classe abstrata) Prototype, já que a classe ConcretePrototype estão isoladas do cliente Cada subclasse (ConcretePrototype) tem que implementar o método clone, caso contrário a clonagem não será possível. Isso se torna difícil para classe que já existem no sistema

11 © LES/PUC-Rio Prototype Exemplo

12 © LES/PUC-Rio Prototype Exemplo

13 Fim!!


Carregar ppt "Design Patterns Prototype Projeto de Sistemas de Software Gustavo Soares Souza"

Apresentações semelhantes


Anúncios Google