Padroes de projeto

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (364 palavras )
  • Download(s) : 0
  • Publicado : 19 de junho de 2012
Ler documento completo
Amostra do texto
Este artigo foi desenvolvido pelo aluno Everton Maciel (xmaciell@gmail.com) do 4º Ano do Curso de Sistemas de Informação da Universidade do Estado de Minas Gerais, campus Frutal .

Introdução

Opadrão de projeto (Design Pattern) Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos produtos e/ou novas responsabilidades à objetosdinamicamente sem alterar o código das classes existentes.

Em algumas situações precisamos adicionar responsabilidades à objetos individuais, e não a toda a classe. O padrão de projeto Decorator resolve oproblema, permitindo que tais responsabilidades sejam adicionadas individualmente. Para ilustrar o problema, imaginemos um website que auxilia a montagem de veículos pelo cliente, poderíamos entãoadicionar novos produtos aos veículos, como ar condicionado, vidro elétrico, travas elétricas e direção hidráulica, alterando assim as características finais.

Imagine como ficaria a resolução doproblema proposto sem a utilização do padrão de projeto Decorator, utilizando apenas herança estática (múltipla). Poderia ser escrito subclasses de Carro com os produtos desejados, como por exemploCarroXComArCondicionado, CarroYComTravasEletricas, CarroYComTravasEDireção, o que levaria a uma “explosão de classes”, tornando esta solução totalmente inviável. Outra solução poderia ser a utilização devariáveis booleanas que representassem cada produto, isso traria vários problemas de manutenção e flexibilidade de código, como por exemplo alterar a superclasse quando fosse adicionado novos produtos.O Padrão de Projeto Decorator

Além da característica principal do padrão de projeto Decorator que é adicionar novas responsabilidades dinamicamente, há também outras características importantesque devem ser levadas em consideração.

A utilização do padrão permite uma maior flexibilidade e facilidade de manutenção de código. Novos produtos/decoradores podem ser facilmente adicionados na...
tracking img