Você está na página 1de 7

Padres comportamentais:

Chain of Responsibility: Em um sistema orientado a objetos esses interagem entre si atravs de mensagens, e o sistema necessita de determinar qual o objeto que ir tratar a requisio. O padro de projeto Chain of Responsibility permite determinar quem ser o objeto que ir tratar a requisio durante a execuo. Cada objeto pode tratar ou passar a mensagem para o prximo na cascata.

Strategy: O objetivo representar uma operao a ser realizada sobre os elementos de uma estrutura de objetos. O padroStrategy permite definir novas operaes sem alterar as classes dos elementos sobre os quais opera. Definir uma famlia de algoritmos e encapsular cada algoritmo como uma classe, permitindo assim que elas possam ter trocados entre si. Este padro permite que o algoritmo possa variar independentemente dos clientes que o utilizam.

Command: O comportamento deste padro encapsular uma solicitao como um objeto, permitindo parametrizar clientes com diferentes solicitaes, enfileirar ou fazer o registro das solicitaes. Este padro suporta operaes que podem ser desfeitas.

Interpreter: Interpreter um padro de projeto de software que especifica como entender frases em uma determinada linguagem de programao. O padro de projeto Interpreter pode ser utilizado para representar e resolver problemas recorrentes que possam ser expressos sob a forma de uma linguagem formal simples. Gramticas simples no precisam ser interpretadas por cdigos criados atravs de geradores de analisadores sintticos. Para isso, podemos criar uma simples hierarquia de classes baseada na gramtica que, atravs de recurso, devolve a interpretao do cdigo de entrada. justamente isso que apresenta o padro Interpreter: uma soluo elegante na interpretao de pequenas gramticas.

Iterator: permite a "iterao" e um modo de acesso a elementos de um agregado de objetos, sequencialmente, sem exposio de estruturas internas. Um exemplo: Considere uma lista simplesmente encadeada. Um iterador deve permitir o acesso a todos os elementos da lista de uma forma segura sem que ocorra perda de informao ou modificaes no permitidas.

Mediator: Definir um objeto que encapsule o modo como um conjunto de objetos interage. Evitar que objetos se refiram uns aos outros diretamente e admitir variao em suas interaes independentemente, promovendo um acoplamento fraco. Motivao: Projetos orientados a objeto permitem relacionar comportamentos entre diversos objetos, proporcionando um alto acoplamento entre estes. Para evitar esse problema aconselhvel utilizar o padro Mediator, que encapsula o comportamento de um grupo de objetos em um Mediator. O Mediator controla as interconexes entre os objetos, podendo estes serem independentes um dos outros.

Memento: Tem como objetivo captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento. Sugestes para o uso desse Padro [Gamma, et al, 1994]: Na implementao de aes de "desfazer"; Para o armazenamento de estados a serem restaurados de um objeto, como por exemplo, um banco de dados; Para a captao de estados de objetos que so encobertos por encapsulamento;

Observer: O Observer um padro de projeto de software que define uma dependncia umpara-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes sejam notificados e atualizados automaticamente. Permite que objetos interessados sejam avisados da mudana de estado ou outros eventos ocorrendo num outro objeto.

State: Ao modelar um objeto cujo estado importante, pode-se descobrir que h uma varivel que monitora o modo como esse objeto deveria se comportar, dependendo do seu estado. Essa varivel pode aparecer em comandos if complexos, em cascata, que focalizam como reagir aos eventos que o objeto pode experimentar. Aplicabilidade: Quando uma classe define muitos comportamentos Quando classes relacionadas forem diferentes apenas no seu comportamento Quando voc precisar de diferentes variaes de um mesmo algoritmo

Mltiplas classes diferem somente quanto aos seus comportamentos. A servlet API um exemplo clssico disso. Um algoritmo utiliza dados que no so conhecidos ao cliente.

Template Method: Tem como objetivo definir um gabarito que represente uma estrutura de um algoritmo com uma seqncia de passos a ser seguido pelas subclasses. Estes passos podem ser definidos como abstratos e implementados por uma subclasse, sem alterar a estrutura do mesmo. O Template Method possibilita a reutilizao de mtodos e maior flexibilidade, caso necessite remover ou adicionar novas subclasses. Para a reutilizao precisa-se apenas reusar o gabarito j existente, implementando-se nas subclasses os comportamentos que so especficos.

Visitor: Representa uma operao a ser realizada sobre elementos da estrutura de um objeto.

O Visitor permite que se crie um nova operao sem que se mude a classe dos elementos sobre as quais ela opera. uma maneira de separar um algoritmo da estrutura de um objeto.

Um resultado prtico a habilidade de adicionar novas funcionalidades a estruturas de um objeto pr-existente sem a necessidade de modific-las. Aplicao: Executar operaes sobre diversos elementos que dependem apenas das suas classes concretas, no possuindo uma interface comum. Aplicar operaes distintas e no relacionadas em classes separadas com o intuito de no poluir o cdigo de um conjunto de elementos. Reunir operaes relacionadas em uma nica classe facilitando a organizao das mesmas. Caso a estrutura do objeto mude frequentemente a melhor forma de evitar grandes alteraes em visitantes adicionar as operaes na prpria classe do elemento.

Fontes:

http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software http://200.134.81.19:8080/arcabomk/index.jsp?link=Itens/Padroes_de_projeto/comportamentais / http://www.aspectos.org/courses/aulasaop/aula18.html# http://abrindoojogo.com.br/padroes-de-projeto-em-games http://www.noginfo.com.br/arquivos/CC_TEC_08.pdf

Você também pode gostar