Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS DE INFORMAÇÃO ULBRA -CACHOEIRA DO SUL Padrão de Projeto Decorator José Renato da Rosa Rodrigo Kiefer Decorator Um decorator é uma forma prática e reusável de adicionarmos funcionalidades às nossas funções/métodos/classes, sem precisarmos alterar o código delas. O padrão de projeto Decorator é um padrão estrutural que permite agregar dinamicamente responsabilidades adicionais a um objeto fornecendo assim uma alternativa flexível à utilização da herança como modo de estender funcionalidades. Essencialmente, um Decorator modifica objeto original no sentido que ele adiciona alguma funcionalidade ao objeto original. Essa alteração pode acontecer na funcionalidade interna mas normalmente acontece no contrato adicionando mais métodos aos métodos originais. Diz-se que o objeto original foi decorado pelo objeto que implementa o padrão Decorator. Objetivo Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos produtos ou novas responsabilidades à objetos dinamicamente 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 o problema, permitindo que tais responsabilidades sejam adicionadas individualmente. Vantagens ● maior flexibilidade e facilidade de manutenção de código. ● Novos produtos/decoradores podem ser facilmente adicionados na aplicação, sem a necessidade de alterar o código já existente. ● evita-se classes sobrecarregadas e características desnecessárias nas superclasses. ● Novos decoradores podem ser criados de forma simples, sem a necessidade de alteração na superclasse. Desvantagens Em algumas aplicações a grande quantidade de pequenos objetos/classes podem tornar o projeto complexo e de difícil compreensão. Estrutura Exemplo Imagine que você esta desenvolvendo um sistema para um pizzaria, onde existem um rodizio e vários agregados ( refrigerante, cerveja, água mineral etc...) que devem ser cadastrados para controlar a venda. Estrutura MODELO ABITUAL Estrutura MODELO COM DECORATOR Conclusão Em síntese, o padrão Decorator oferece como principal característica a possibilidade de adicionar/decorar um objeto com outras responsabilidades ou características dinamicamente em tempo de execução, além de proporcionar grande flexibilidade e manutenibilidade de código. Referências Mão na Massa Decorator : http://brizeno.wordpress.com/2011/08/31/decorator/ Design Pattern: Implementando o Decorator: http://albertoleal.eti.br/2009/06/design-pattern-implementando-o-decorator/ Padrão de Projeto Decorator em Java: http://www.devmedia.com.br/padrao-de-projeto-decorator-em-java/26238 .NET - O padrão de projeto Decorator: http://www.macoratti.net/13/02/net_decor1.htm SISTEMAS DE INFORMAÇÃO ULBRA -CACHOEIRA DO SUL Decorator Objetivo Vantagens Desvantagens Estrutura Exemplo Slide 8 Slide 9
Compartilhar