http://java.dzone.com/articles/design-patterns-decorator |
Explicação: Padrão estrutural, no qual você pode adicionar comportamentos e funcionalidades dinamicamente.
Exemplo: Podemos ter vários tipos de emails, no qual dependendo do lugar, podemos enviar sem criptografia ou com criptografia. Adicionando funcionalidade de criptografia no nosso email sem alterar a classe email, pode ser feita com o uso de um decorador. Que no nosso caso, o decorador é EmailCriptografado. A criação do decorator pode ser feita de várias formas, eu simplifiquei um pouco.
public interface EmailInterface { public String conteudo(); } public class Email implements EmailInterface{ @Override public String conteudo() { return ""; } }
A classe decorator recebe em seu construtor o objeto que se deseja decorar.
public class EmailCriptografado implements EmailInterface{ private EmailInterface email; public EmailCriptografado(EmailInterface email){ this.email = email; } @Override public String conteudo() { return email.conteudo(); } public String conteudoCriptografado(){ String conteudo = email.conteudo(); //logica para criptografar o email return conteudo; } }
Obrigado
Nenhum comentário:
Postar um comentário