Padrões de projetos para jogos 
● Alunos : Robson Cavalcante de Negreiros 
Lucas Sales Vieira 
● Prof° responsável : Camil...
O que é um padrão de projeto 
● É uma solução geral reutilizável para um problema que 
ocorre com frequência dentro de um ...
Categorias segundo (GoF) 
● Padrões de criação:relacionado a instanciação de 
objetos. 
● Padrões de estrutura: tratam das...
Alguns dos padrões mais utilizados em 
jogos 
● Builder 
● State 
● Command 
● Memento 
● Mediator 
● Observer
Padrão Builder 
● Separar a construção de um objeto complexo da sua 
representação, de modo que o mesmo processo de 
const...
Diagrama Classe : Builder
● Builder : 
É a Interface Abstrata para a criação das partes de um objeto. 
● ConcreteBuilder : 
Constroe e monta as part...
Exemplo código
Exemplo código
Exemplo código
Desvantagens do Padrão Builder 
● Um problema com o padrão é que é preciso sempre 
chamar o método de construção para depo...
Padrão State 
● Ele permite um objeto alterar seu comportamento quando 
o seu estado interno muda. Esta mudança é signific...
Quando Usar o padrão State 
● O comportamento de um objeto depende do seu estado e 
ele deve mudar o seu comportamento em ...
Aplicabilidade : State 
● Quando uma classe desempenha vários comportamentos 
● Quando classes relacionadas forem diferent...
Vantagens : State 
● Faz as mudanças de estado explícitas. 
● Os objetos Estado podem ser compartilhados se eles não 
cont...
Exemplo código
Exemplo código
Exemplo código
Desvantagem : State 
● Aumenta o número de subclasses
Padrão Command 
● O padrão de projeto (Design Pattern) Command é um 
padrão comportamental cuja intenção é encapsular uma ...
Diagrama Classe: Command
Command 
● Comando: É a classe abstrata ou interface para a executar 
a operação, ela é a base para todo objeto Comando. 
...
Aplicabilidade Command 
● Queremos parametrizar objetos por uma ação a ser 
executada; 
● Queremos especificar, enfileirar...
Vantagens Command 
● O padrão Command desacopla o objeto que invoca a 
operação daquele que sabe como executá-la; 
● O pad...
Padrão Memento 
● Captura o estado de um objeto em um determinado 
momento, de maneira que este possa voltar a esse estado...
Aplicabilidade : Memento 
● Na implementação de ações de “voltar , desfazer” 
● Para o armazenamento de estados a serem re...
Diagrama de Classe
Memento 
● Care Taker : Cuida do gerenciamento dos mementos. 
● Memento : É a classe que representa a memoria do 
estado d...
Diagrama de sequência
Padrão Mediator 
● É um padrão comportamental utilizado para gerenciar a 
comunicação entre dois ou mais objetos.
Por que utilizá-lo? 
● O Mediator promove o acoplamento fraco ao evitar que os 
objetos se refiram uns aos outros explicit...
Diagrama Classe : Mediator
Diagrama Sequencia : Mediator
Vantagens Padrão Mediator 
● Uma vantagem interessante, é a possibilidade de mudar o 
comportamento do mediator. É possíve...
Padrão Observer 
Define uma dependência uma para muitos entre objetos, de 
maneira que quando em objeto muda de estado tod...
Como garantir que os objetos 
perceba a mudança 
● Os observadores devem conhecer o objeto de que os 
interessam 
● O obje...
Aplicabilidade : Observer 
● Quando uma mudança a um objeto requer mudanças a 
outros e você não sabe quantos outros objet...
Diagrama Classe : Observer
Observer 
● Observable : Tem uma interface para adicionar e remover 
observadores, ele conhece vários observadores e possu...
Diagrama Sequencia : Observer
Referências 
● https://brizeno.wordpress.com/category/padroes-de-projeto/builder/ 
● https://brizeno.wordpress.com/categor...
Próximos SlideShares
Carregando em…5
×

Padrões de Projeto para Jogos

674 visualizações

Publicada em

Alguns Padrões de Projeto utilizados em jogos.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
674
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
28
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Padrões de Projeto para Jogos

  1. 1. Padrões de projetos para jogos ● Alunos : Robson Cavalcante de Negreiros Lucas Sales Vieira ● Prof° responsável : Camilo Camilo Almendra
  2. 2. O que é um padrão de projeto ● É uma solução geral reutilizável para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software.
  3. 3. Categorias segundo (GoF) ● Padrões de criação:relacionado a instanciação de objetos. ● Padrões de estrutura: tratam das ações entre classe e objetos, como são construídos para formar estruturas maiores. ● Padrões de comportamento: tratam das interações e divisões entre classes e objetos, ou seja, dos algoritmos e atribuições de responsabilidades entre objetos com foco na comunicação entre os mesmos.
  4. 4. Alguns dos padrões mais utilizados em jogos ● Builder ● State ● Command ● Memento ● Mediator ● Observer
  5. 5. Padrão Builder ● Separar a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
  6. 6. Diagrama Classe : Builder
  7. 7. ● Builder : É a Interface Abstrata para a criação das partes de um objeto. ● ConcreteBuilder : Constroe e monta as partes do objeto pela implementação da interface Builder. Fornece a interface para recuperar o produto. ● Director : Constroe o objeto de acordo com Builder que recebeu. ● Product : Representa o objeto complexo em construção
  8. 8. Exemplo código
  9. 9. Exemplo código
  10. 10. Exemplo código
  11. 11. Desvantagens do Padrão Builder ● Um problema com o padrão é que é preciso sempre chamar o método de construção para depois utilizar o produto em si.
  12. 12. Padrão State ● Ele permite um objeto alterar seu comportamento quando o seu estado interno muda. Esta mudança é significativa e visível para o usuário, assemelhando-se a troca de classe.
  13. 13. Quando Usar o padrão State ● O comportamento de um objeto depende do seu estado e ele deve mudar o seu comportamento em tempo de execução dependendo do estado. ● Os métodos têm grandes instruções condicionais em que as condições dependem do estado do objeto.
  14. 14. Aplicabilidade : State ● Quando uma classe desempenha vários comportamentos ● Quando classes relacionadas forem diferentes apenas no comportamento
  15. 15. Vantagens : State ● Faz as mudanças de estado explícitas. ● Os objetos Estado podem ser compartilhados se eles não contêm variáveis d e instância. ● Permite a um objeto alterar de classe em tempo de execução dado que ao modificar suas responsabilidades pela de outro objeto de outra classe, a herança e responsabilidades do primeiro mudaram pelas do segundo.
  16. 16. Exemplo código
  17. 17. Exemplo código
  18. 18. Exemplo código
  19. 19. Desvantagem : State ● Aumenta o número de subclasses
  20. 20. Padrão Command ● O padrão de projeto (Design Pattern) Command é um padrão comportamental cuja intenção é encapsular uma solicitação como um objeto e desta forma permitir que você parametrize clientes com diferentes solicitações, enfileire ou registre(log) solicitações e suporte operações que podem ser desfeitas.(GoF)
  21. 21. Diagrama Classe: Command
  22. 22. Command ● Comando: É a classe abstrata ou interface para a executar a operação, ela é a base para todo objeto Comando. ● ComandoConcreto: Implementa a operação executar() e possui a relação com o Receptor para executar a ação usando o mesmo a ela vinculado. ● Client : Cria o ComandoConcreto e atribui a vinculação com o seu Receptor correspondente. ● Receptor : Conhece como executar as operações associadas com a execução do comando.
  23. 23. Aplicabilidade Command ● Queremos parametrizar objetos por uma ação a ser executada; ● Queremos especificar, enfileirar e executar solicitações em tempos diferentes; ● Queremos dar suporte para desfazer operações; ● Estruturar um sistema em torno de operações de alto nível, como transações por exemplo; ● Reduzir acoplamento entre as requisições dos clientes e o objetos que as executam; ● Para facilitar a implantação de novas operações e tornar mais simples a manutenção das operações.
  24. 24. Vantagens Command ● O padrão Command desacopla o objeto que invoca a operação daquele que sabe como executá-la; ● O padrão Command reduz o acoplamento (dependência) entre o objeto que chama a operação e o objeto que executa a operação; ● Um comando pode ser composto por outros comandos; ● É fácil acrescentar novos Commands porque não é preciso mudar as classes existentes;
  25. 25. Padrão Memento ● Captura o estado de um objeto em um determinado momento, de maneira que este possa voltar a esse estado mais tarde. Sem violar o encapsulamento.
  26. 26. Aplicabilidade : Memento ● Na implementação de ações de “voltar , desfazer” ● Para o armazenamento de estados a serem restaurados de um objeto. ● Para a captura de estados de objetos que são encobertos por encapsulamento.
  27. 27. Diagrama de Classe
  28. 28. Memento ● Care Taker : Cuida do gerenciamento dos mementos. ● Memento : É a classe que representa a memoria do estado do objeto. ● Originator : É o objeto que terá seu estado armazenado.
  29. 29. Diagrama de sequência
  30. 30. Padrão Mediator ● É um padrão comportamental utilizado para gerenciar a comunicação entre dois ou mais objetos.
  31. 31. Por que utilizá-lo? ● O Mediator promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente
  32. 32. Diagrama Classe : Mediator
  33. 33. Diagrama Sequencia : Mediator
  34. 34. Vantagens Padrão Mediator ● Uma vantagem interessante, é a possibilidade de mudar o comportamento do mediator. É possível extendê-lo e trocar seu funcionamento, sem ter que alterar nenhuma das outras classes existentes.
  35. 35. Padrão Observer Define uma dependência uma para muitos entre objetos, de maneira que quando em objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente
  36. 36. Como garantir que os objetos perceba a mudança ● Os observadores devem conhecer o objeto de que os interessam ● O objeto de interesse deve notificar os observadores quando for mudado
  37. 37. Aplicabilidade : Observer ● Quando uma mudança a um objeto requer mudanças a outros e você não sabe quantos outros objetos devem mudar ou quando um objeto deve ser capaz de avisar outros sem fazer suposições sobre quem são os objetos(ou seja não cria alto aclopamento)
  38. 38. Diagrama Classe : Observer
  39. 39. Observer ● Observable : Tem uma interface para adicionar e remover observadores, ele conhece vários observadores e possui um método para modicar. ● ConcreteObservable : Mantém o estado dos Observadores. ● Observer : Define uma interface de atualização. ● ConcreteObserver : Mantém referência ou recebe referência para o objeto em observação.
  40. 40. Diagrama Sequencia : Observer
  41. 41. Referências ● https://brizeno.wordpress.com/category/padroes-de-projeto/builder/ ● https://brizeno.wordpress.com/category/padroes-de-projeto/command/ ● https://brizeno.wordpress.com/category/padroes-de-projeto/state/ ● http://abrindoojogo.com.br/category/tecnico/projeto-de-software/Contatos : robsoncavalcante.es@gmail.com lucasalesvieira2@gmail.com

×