Design Pattern – Interface

Não seria incrível se houve uma simples maneira de criar software de fácil manutenção?

Quando eu estava começando a estudar os conceitos de OO, eu não conseguia imaginar como o uso de Interface seria realmente útil. Até que me deparei com um artigo no ibm developerworks.

Mas como era esse artigo?

Um colega meu fez uma analogia de que a não utilização de interfaces é como olhar para a cabeça da Medusa. Na mitologia grega, a Medusa era uma personagem feminina com cobras no lugar de cabelo. Qualquer pessoa que olhasse diretamente para ela era transformado em pedra. Perseu, que matou Medusa, foi capaz de confrontá-la, olhando para o seu reflexo em seu escudo, evitando assim ser transformado em pedra.

A Interface é o seu espelho para lidar com a Medusa. Quando você utiliza uma implementação concreta específica, seu código deve mudar somente se o código da sua implementação for alterado. Utilizando implementações diretamente acontece uma limitação de muitas das suas opções, como você essencialmente transformou suas classes em pedra.

link para o artigo.

Interface

Você utilizará interfaces, para tentar evitar sempre se referir diretamente às classes de implementação. Em vez disso, use você utilizará “algo” externo ao seu objeto para dar-lhe a correta implementação. Se sua classe carrega a implementação baseada em alguma lógica, ela ainda deveria exigir as definições de todas as classes de implementação, e que não levaria a lugar algum.