Classes desacopladas
Boa tarde.
Imaginem a seguinte situação: Tenho uma classe que faz login. Essa classe utiliza uma outra classe para gerar um hash na hora de logar e então comparar os passwords (o password do banco com o password digitado pelo usuário). O método login recebe uma instancia de uma classe que implementa a interface hash, ou seja, minha classe que gera o hash para comparar os passwords. Se eu quiser mudar a forma como o hash será gerado, é só passar uma outra instância que implemente hash. Ou seja: Estou utilizando polimorfismo e passando essa responsabilidade de gerar hashs para outra classe.
Eu poderia ter criado a classe que gera hash dentro da classe de login. Mas dessa forma, se eu quisesse mudar o tipo do Hash, teria que alterar o código dentro da classe de login.
Qual abordagem é melhor para ter um código desacoplado? Qual a melhor forma de trabalhar com objetos dentro de outros objetos sem amarrar as classes?
Espero ter sido claro.
Valeu.
Discussão (1)
Carregando comentários...