17
Dirceu da Silva Neto Felipe Caravaggio Damasceno Felipe da Silva Nunes adrão ommand P C

Apresentaçao Final

Embed Size (px)

Citation preview

  • Dirceu da Silva Neto

    Felipe Caravaggio Damasceno

    Felipe da Silva Nunes

    adro ommand

    P C

  • Introduo Padro de Projeto

    - Padro de Projeto nada mais do que uma soluo geral reutilizvel para um problema recorrente no desenvolvimento de software orientados a objetos;

    - No so cdigos prontos e sim modelos de como resolver o problema do qual se lida, que tambm pode ser usado em outras diversas situaes;

    - Os Padres de Projetos so organizados em trs famlias: Padres de criao (criao de objetos), Padres estruturais (associaes entre classes e objetos) e Padres comportamentais (interaes/divises de deveres entre classes ou objetos);

  • Definio Padro Command

    - O Padro Command est na famlia dos Padres Comportamentais (interaes e divises de responsabilidades entre classes ou objetos);

    - Encapsula uma requisio como um objeto permitindo que os clientes parametrizem diferentes requisies, filas ou fazer o registro (log) de solicitaes e suportar operaes que podem ser desfeitas (undo).

    - A ideia de encapsulamento no para proteo aos dados, e sim com uma maneira de parametrizar as solicitaes dos objetos de forma que estes no fiquem acoplados.

  • Definio Padro Command

    - Existem situaes nas quais necessrio emitir solicitaes para objetos sem que se conhea nada a respeito da operao ou do receptor da mesma.

    - Em algumas bibliografias, o Padro Command tambm pode ser citado com outros nomes, como Action e Transaction.

  • Definio Diagrama de Classes

    Padro Command

  • Definio Diagrama de Classes

    Participantes Command: Declara uma interface para a

    execuo de uma operao; ComandoConcreto: Define uma vinculao

    entre um objeto e um Receptor e uma ao. Implementa execute atravs da invocao da operao correspondente no Receptor;

    Cliente: Cria um objeto ComandoConcreto e estabelece o seu receptor;

    Invocador: Solicita ao Command a execuo da solicitao;

    Receptor: Sabe como executar as operaes

    associadas a uma solicitao. Qualquer classe pode funcionar como um Receptor;

  • Definio Padro Command

    Consequncias

  • Vantagens Padro Command

    - A facilidade de extenso da arquitetura, permitindo adicionar novos commands sem efeitos colaterais;

    - Podem se tornar mais complexos atravs

    de MacroComandos, que permitem a chamada simultnea de mltiplos Comandos;

    - O bom nvel de desacoplamento entre objetos, separando os objetos que possuem os dados dos que manipulam os dados;

    - Possibilita desfazer as aes realizadas por

    um comando (necessrio implementar um mtodo undo no comando);

  • Desvantagens Padro Command

    - Um problema que pode ocorrer a complexidade dos comandos crescer demais. Por exemplo, se todos os commands precisam realizar vrias aes.

    - Deixa o design da aplicao procedural, ou

    seja, orientado a aes. - Pode ser mal entendido ou demorar at ser

    compreendido por programadores com falta de experincia ou que no conhecem padres de projeto. Isso pode acarretar em falhas ou desestruturao no cdigo.

  • Diagrama Exemplo Controle de Porto Eletrnico

  • Cdigo Exemplo - Command (Interface)

  • Cdigo Exemplo - AbrirCommand

  • Cdigo Exemplo - FecharCommand

  • Cdigo Exemplo - Controle

  • Cdigo Exemplo - Portao

  • Cdigo Exemplo - Main

  • Bibliografia - GAMMA, Erich; HELM; Richard; JOHSON,

    Ralph; VLISSIDES, John Padres de Projeto Solues reutilizveis de software orientados a objeto .

    - FREEMAN, Eric Use a cabea!: Padres de Projetos (Design Patterns)

    Livros