Padrões de Projeto Aula 3 – Padrão Strategy.

Slides:



Advertisements
Apresentações semelhantes
Componentes ASP.NET 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.
Advertisements

Web Services Passo a passo Consumo de serviço SOAP em.Net 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Autenticação de usuários no ASP.NET
Projeto de Sistemas de Software Kelly Leal Leandra Mara da Silva
Projeto de Sistemas de Software Fernando de Freitas Silva
Strategy Projeto de Sistemas de Software
Padrões de Projeto Prototype.
Padrões de Projeto Adapter.
Inteligência Artificial
Padrões GoF - Strategy.
Padrões GoF - Façade.
Padrões GoF – Factory Method
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
// OBJETOS INTERATIVOS
Observer Mantendo seus objetos atualizados
1 Aula 6 Classes que reservam recursos externos. 2003/2004 Programação Orientada para Objectos 2 PilhaDeInt : interface /** Representa pilhas de int.
Gestão de Referências e JabRef
Professor: Hyggo Almeida
Threads: Introdução e Implementação
Linguagens Orientadas a Objeto
GEJAVA IV SCJA – Certificação Sun java associado exame cx
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Curso de Básico de Reservas e Tarifas - Amadeus Vista 3.1.
Interface C / Assembly Modo Real
Linguagens de Programação II Aula 04 – Entendendo Classes
Linguagens de Programação II
Manual de Uso Mídias Digitais. Manual Digital  Capa  Avatar  Posts  Aplicativos Formatos.
Hadautho Roberto Barros da Silva
® Tópicos Avançados em Linguagens Computacionais – IF724 Aula Prática – FSharp (F#) Leandro Mitsuo Rodrigo Lumack Professor:
AULA 04 - POO. História 02 (usar interface): De acordo com o tipo do cliente implementar um método para dar desconto. Nesse processo está envolvido o.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
RJC/MO Remote Java Connector Message Oriented Renato Jobson Carequinha.
Análise e Projeto de Sistemas
Backup DE DADOS DO USUÁRIO. Cópia de segurança dos dados no computador, alguns fáceis e outros trabalhosos, de acordo com a quantidade de dados. Utilizado.
GUI – Graphic User Interface Prof. M.Sc. Ronnison Reges Vidal.
Funções como Valor ©André Santos e Marcelo d’Amorim.
Padrões de Projeto Abstract Factory.
Vanessa aparecida das Graças
Padrão de desenvolvimento
Teste de Software 05: jmockit demo Marcelo d’Amorim
Projetos de descobertas de conhecimento em banco de dados e mineração de dados Jacques Robin, Francisco de Assis e Paulo Adeodato CIn-UFPE.
Teremos nesta aula: 31 de julho de 2015 Aula 1 – OBJETIVOS DO MÓDULO Apostila: DESENVOLVIMENTO DE SITES 1 – 7 regras pra o desenvolvimento de um bom site.
Notas de aula Prof. Vicente Prado
Padrões de Projeto Aula 3 – Padrão Strategy.
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ão de Projeto Façade Tiago Andrade Ronaldo Ribeiro Edvaldo Melo
Padrões de Projeto Aula 4 – Padrão Observer. PADRÃO OBSERVER Como manter objetos atualizados quando algo importante ocorre? Padrões de Projeto - Observer.
Aula 5 – Padrão Decorator
Aula 6 – Padrão Factory Method
Padrões de Projeto Aula 9 – Padrão Adapter.
Aula 7 – Padrão Abstract Factory
Aula 8 – Padrão Singleton
CBD-0279 Introdução ao Uso dos Metadados no Ambiente das Unidades de Informação Prof. Dr. Ivan Siqueira USP – ECA – CBD 2015.
Padrões de Projeto Aula 10 – Padrão Façade.
Fundamentos de Programação 1 Slides 20 Prof a. Fabiany e Prof. Simão Linguagem C “Operadores Bit à Bit e Outros”.
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
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.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Padrões de Projeto Aula 5 – Padrão Decorator 1. QuickReview: Observer Definição: Quando usar? Tipo de padrão? Como? 2.
Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.
Padrões de Projeto Aula 10 – Padrão Façade. Façade, em francês, significa fachada ◦ Fachada de prédio 2.
Capa Título do projeto Nomes dos autores Local e Data.
Anotações.  Definição:  Exemplo:  Definição:  Exemplo:
Strategy Definição: Quando usar? Tipo de padrão? Como?
Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural.
Aula 9 – Padrão Decorator
Padrão Command Encapsulando a chamada de métodos com o padrão Command.
Transcrição da apresentação:

Padrões de Projeto Aula 3 – Padrão Strategy

Resumo e Revisão Padrões de Projeto - Strategy Padrão Strategy

Strategy Definição: Quando usar? Tipo de padrão? Como? Padrões de Projeto - Strategy Def: padrão que permite que o comportamento de uma classe (i.e., seu algoritmo) seja mudado em tempo de execução. Quando usar? Quando o algoritmo a ser usado deve ser escolhido em tempo de execução. Tipo de padrão? Comportamental (existem os de criação, comportamentais e estruturais) Como? Composição + Interfaces Programar para superclasses! Por que? Com a variável de referência de uma superclasse nós podemos instanciar objetos de sub-classe (que encapsulam diferentes algoritmos/estratégias) e atribuir a essa referência em tempo de execução. Com isto a estratégia é mudada.

Terminologia e Estrutura interface Strategy class Context Padrões de Projeto - Strategy

Xadrez Interface Strategy: Class Context: or Class Piece: Main? +move() Class Context: or Class Piece: -Strategy strategy Main? Padrões de Projeto - Strategy Quais os tipos de movimento nós temos no xadrez? Quais peças? Como ficaria o Main?

Mortal Kombat Padrões de Projeto - Strategy ShootBehavior ShootWithArrow implements ShootBehavior  nightwolf ShootWithGun implements ShootBehavior  stryker, erronblack CastMagicBehavior CastFireball implements CastMagicBehavior  liu-kang, shang-tsung CastIce implements CastMagicBehavior  sub-zero Class Context ou Class Fighter -ShootBehavior shooter -CastMagicBehavior magic -shoot() -castMagic() -punch() -kick() -move() +doSomething(Input[] input)

Padrões de Projeto - Strategy

Compression tool file compression tool - where we create either zip or rar files Padrões de Projeto - Strategy CompressionStrategy +compressFiles(ArrayList<File> files): void ZipCompressionStrategy implements CompressionStrategy RarCompressionStrategy implements CompressionStrategy CompressionContext

Referências O capítulo 1 do livro “Padrões de Projeto – Use a Cabeça!”; http://java67.blogspot.com.br/2014/12/strategy-pattern-in-java-with-sample.html https://dzone.com/articles/design-patterns-strategy  interessante para um “quickstart” em um padrão Padrões de Projeto - Strategy