Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSebastião da Cunha Monsanto Alterado mais de 8 anos atrás
1
Padrões de Projeto Aula 3 – Padrão Strategy
2
Resumo e Revisão Padrões de Projeto - Strategy Padrão Strategy
3
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.
4
Terminologia e Estrutura
interface Strategy class Context Padrões de Projeto - Strategy
5
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?
6
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)
7
Padrões de Projeto - Strategy
8
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
9
Referências O capítulo 1 do livro “Padrões de Projeto – Use a Cabeça!”; interessante para um “quickstart” em um padrão Padrões de Projeto - Strategy
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.