Eduardo Bezerra edubezerra@gmail.com Padrões GoF (State) Eduardo Bezerra edubezerra@gmail.com.

Slides:



Advertisements
Apresentações semelhantes
Carlos Roberto Marques Junior
Advertisements

PADRÕES DE PROJETO..
Diagrama de Classes.
Elisabeth Suescún Leandra Mara da Silva
Projeto de Sistemas de Software Kelly Leal Leandra Mara da Silva
Carlos R. M. Junior Eduardo Motta
Strategy Projeto de Sistemas de Software
Design Patterns Interpreter
Padrão de Projeto Composite
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
Classificação de Requisitos
Medida do Tempo de Execução de um Programa
Módulo III Padrões GOF: Composite
Módulo III Padrões GOF: Command
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF:FactoryMethod Professores Eduardo Bezerra –
Adapter.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Padrões GoF - Composite
Padrões GoF - Strategy.
Padrões GoF - Façade.
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Template Method Intenção: definir o esqueleto de um algoritmo em uma operação, postergando (delegando) a definição de alguns passos desse algoritmo para.
Padrões GoF – Factory Method
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Observer Mantendo seus objetos atualizados
Contratos Modelagem Funcional.
Diagrama de Estados.
Strategy e Template Method
Nazareno Andrade (baseado no material de Hyggo Almeida)
Padrões de projeto detalhados Factory Method, Abstract Factory
Padrão de Projeto Visitor
Chain of Responsibility
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Design Patterns Bridge
Estudo de Caso: um editor de documentos
Equipe: Fernando Calheiros Flavia Leite Eduardo Wagner
Programação Orientada à Objetos
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Análise Orientado aos Objetos Prof. Wolley W. Silva
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
1 Padrões de Software Padrões GoF (Parte 2) Eduardo Bezerra Outubro/2005.
Decorator POO - Avançado.
Introdução Padrões de Projeto
Design Patterns (Padrões de Projeto)
Trabalho Final de Padrões de Projeto
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Padrões de Projeto Abstract Factory.
Factory.
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: AbstractMethod Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: State Professores Eduardo Bezerra –
1 Padrões: Bridge (p. 151) Objetivo: separar uma abstração de sua implementação Sinônimos: Handle/Body.
1 Padrões: Composite (p. 163) Objetivo: compor objetos em estruturas de árvores para representar relações de parte/todo. “Composite” permite tratar objetos.
Padrão Composite Definição
Jobson Ronan Padrões GoF Jobson Ronan
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
Padrões de Projeto Aula 3 – Padrão Strategy.
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Aula 5 – Padrão Decorator
Diagrama de Classes Herança Dependências.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/65 Padrões de Projeto.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Persistência de dados e padrão DAO
Padrões de Projeto Aula 5 – Padrão Decorator 1. QuickReview: Observer Definição: Quando usar? Tipo de padrão? Como? 2.
Transcrição da apresentação:

Eduardo Bezerra edubezerra@gmail.com Padrões GoF (State) Eduardo Bezerra edubezerra@gmail.com

State Intenção: permitir que um objeto altere seu comportamento em função de uma mudança no seu estado. Solução: Criar uma hierarquia de classes separada para representar os estados de um objeto. Cada subclasse da hierarquia representa um dos possíveis estados do objeto. Ligar este objeto a seu estado corrente utilizando o relacionamento de composição. Cada subclasse da hierarquia deve implementar o comportamento correspondente a seu estado.

Estrutura do State Context State state request() handle() ConcreteStateA ConcreteStateB handle() handle() state.handle();

State (conseqüências) Localiza o comportamento de um estado específico e divide o comportamento por diferentes estados. O padrão State coloca todo comportamento associado a um estado particular em um objeto. Assim, todo código de um estado específico fica em uma subclasse da classe State, podendo ser adicionados novos estados e transições; Faz a transição de estados explicitamente;

State (aplicabilidade) Quando o comportamento de um objeto depende de seu estado, e este comportamento deve ser mudado em tempo de execução conforme as mudanças ocorridas em seu estado; Quando operações possuem comandos condicionais muito grandes, que dependem do estado do objeto. Este estado é usualmente representado por uma ou mais constantes enumeradas. Freqüentemente, muitas operações irão conter a mesma estrutura condicional. State coloca cada ramo dessa estrutura em uma classe separada. Dessa maneira, o estado do objeto pode ser tratado como um objeto.

State (aplicabilidade) Uma companhia de aviação tem os seus clientes categorizados em função do número de pontos acumulados: MembroPrata (<=1000), MembroOuro (>1000 e <=5000), MembroPlatina (>5000). Existe a necessidade de uma operação getPreço(), que interroga um membro sobre o desconto aplicável em uma determinada viagem.