Projeto de Sistemas de Software

Slides:



Advertisements
Apresentações semelhantes
Carlos Roberto Marques Junior
Advertisements

Padrão de Projeto Iterator
PADRÕES DE PROJETO..
Design Patterns Patrícia Mateus nº3343 Carla Guerreiro nº3157
Modelagem de Software Orientado a Objetos
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Elisabeth Suescún Leandra Mara da Silva
Factory Method Projeto de Sistemas de Software
Projeto de Sistemas de Software Kelly Leal Leandra Mara da Silva
Padrão Bridge (Handle/Body)
Elizabeth Suescún Monsalve
Projeto de Sistemas de Software Fernando de Freitas Silva
Projeto de Sistemas de Software Fernando de Freitas Silva
Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Padrões de Projeto Prototype.
Abstract Factory – Gustavo Lopes Mourad.
Template Method Projeto de Sistemas de Software. © LES/PUC-Rio Template Method Motivação.
Projeto de Sistemas de Software Leandra Mara da Silva
Padrão Abstract Factory
1 Introdução aos padrões de projeto (GoF) Conceitos preliminares –Mecanismos de herança –Princípio de Substituição de Liskov –Acoplamento concreto x Acoplamento.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Chain of Responsibility
Padrões - introdução O que é um padrão?
Padrão de Construção Factory Method
Design Patterns Projeto de Sistemas de Software.
Fundamentos da Engenharia de Software
Visão crítica sobre padrões: Over Engineering
Padrões de projeto detalhados Factory Method, Abstract Factory
Módulo III Padrões GOF Professores
Projeto de Sistemas de Software
Chain of Responsibility
Arquitetura de Software Introdução
Padrões de Projeto Aplicações empresariais são complexas
Design Patterns Bridge
Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil
Adriano S. Castro André Abdalla
Design Pattern (Padrões de Projeto)
1 Padrões de Software Padrões GoF (Parte 2) Eduardo Bezerra Outubro/2005.
Padrões de Projeto.
Introdução Padrões de Projeto
Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo.
Trabalho Final de Padrões de Projeto
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
Padrões de Projeto Abstract Factory.
Padrões de Projeto.
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto Alcides Calsavara
1 Padrões: Composite (p. 163) Objetivo: compor objetos em estruturas de árvores para representar relações de parte/todo. “Composite” permite tratar objetos.
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Padrão Composite Definição
Histórico de ações 0 para 1 – Composite e Visitor – Component, BasicComponent e Composite foram removidos. Adicionados virtual classes: ComponentCJ e CompositeCJ.
1 - Introdução a Padrões de Projeto
Padrões de Projetos Professora Lucélia. Conceitos É uma solução conhecida para um problema comum São técnicas que nos dão uma boa solução para determinados.
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
Design Patterns Mediator Projeto de Sistemas de Software Kelly Leal.
Padrões Criacionais Abstraem o processo de criação de instâncias (objetos), oferecendo flexibilidade no que é criado, por quem, como e quando.
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
1 Padrões de Projeto de Software Orientado a Objetos Programação Orientada a Objetos Prof. Fabio Kon - IME/USP.
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Padrões de Projeto Estruturais
Padrões de Projeto.
Arquitetura e padrões de software
Transcrição da apresentação:

Projeto de Sistemas de Software Design Patterns Prototype Projeto de Sistemas de Software Gustavo Soares Souza gustavosoares@gmail.com

Sumário Propósito Motivação Aplicabilidade Estrutura Participantes Prototype Propósito Motivação Aplicabilidade Estrutura Participantes Colaboradores Consequência Exemplo © 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 © 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 © 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 © 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 © LES/PUC-Rio

Prototype Estrutura © LES/PUC-Rio

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

Prototype Exemplo © LES/PUC-Rio

Prototype Exemplo © LES/PUC-Rio

Fim!!