sábado, maio 19, 2007

Reusabilidade com Orientação a Objetos

Um conceito muito importante no processo de desenvolvimento de software é a reusabilidade. Precisamente a reusabilidade de código.

Antes da disseminação da OO, pouco se falava nessa questão. Os softwares costumavam ser muito acoplados e pouco coesos, tornando a manutenção uma tarefa penosa. As funções estavam espalhadas por todo o código de maneira desordenada e, muitas vezes, repetida.

O paradigma da orientação a objetos vem justamente solucionar os principais problemas da programação estruturada.
  • Objetos: São a base da programação OO e já têm algum nível de reusabilidade. Têm uma interface com o meio externo e através dela acessamos seus atributos.
  • Herança: Quando utilizamos herança, temos um alto grau de reusabilidade do código. As classes filhas não precisam reimplementar os métodos e atributos já presentes na classe pai. Isso de certa forma é muito bom, já que escrevemos o código apenas uma vez e o utilizamos em contextos diferentes.
  • Interfaces: A herança apresenta algumas limitações de uso, e além disso, aumenta o acoplamento do sistema. Como alternativa, temos as interfaces, que propõem um contrato entre as classes que as implementam. Interfaces aumentam a coesão do sistema, além de simularem perfeitamente o uso da herança.

O uso da herança e de interfaces deve ser encorajado a fim de se obter o máximo de reuso do código. Além disso elas fornecem as ferramentas necessárias ao polimorfismo, que consiste em referenciar-nos de uma única maneira a objetos de classes diferentes, desde que eles implementem a mesma interface ou herdem uma classe comum. Além desses tópicos, a reusabilidade atinge seu grau mais alto em sistemas OO com o uso de frameworks e padrões de projeto, mas esses são temas para outra oportunidade.

Por enquanto, ficamos por aqui! Até a próxima!

Um comentário:

Anônimo disse...

Muito Bom, boa explicação, vou procurar outras matérias interessantes no seu blog e seguir no Twitter para receber as próximas matérias, bom trabalho, parabéns o criador.