![]() |
| 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