Comando (padrão de desenho): Difference between revisions

From Wiki**3

No edit summary
No edit summary
Line 21: Line 21:
* [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancaria)|Banco, Conta, Titular (aplicação bancaria)]]
* [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancaria)|Banco, Conta, Titular (aplicação bancaria)]]


[[category:OOP]]
[[category:Ensino]]
[[category:Teaching]]
[[category:PO]]

Revision as of 15:09, 23 October 2013

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

O padrão comando permite encapsular um comando ou pedido num objecto. Assim, os clientes podem ser parametrizados com comandos variados e os comandos podem ser manipulados para atingir vários fins: é possível atrasar a sua execução, colocá-los em filas de espera e registar a sua execução. É ainda possível suportar a execução da inversão das acções das operações relativas a um comando (undo).

Estrutura

Diagrama de classes

O padrão comando tem a seguinte estrutura de classes:

Command-dpcd.png

Diagrama de sequência

As colaborações entre os intervenientes são as que figuram no seguinte diagrama de sequência:

Command-dpsd.png

Exercícios