Além de aprender Programação Orientada a Objeto é muito importante saber utilizar seus conceitos.
Sabemos que esse conceito está ligado (para um melhor desenvolvimento) ao Design Patterns.
Por isso, seria interessante abordar-mos aqui, de forma DIDÁTICA, EXEMPLOS e DICAS de como realmente funciona a
REUSABILIDADE DE CÓDIGO de maneira “tangível” aquele que ler.
Seja com exemplos, links, conceitos, nome de livros.
Reusabilidade não é exclusiva da programação orientada a objetos, nem os design patterns, é somente o resultado de organização do código.
A primeira parte parte conseguir reusabilidade é saber modularizar o teu programa, separá-lo em subsistemas, pacotes, classes e métodos, e definir uma única responsabilidade, genérica ou específica, para cada um deles.
Responsabilidade é ter uma única parte do sistema inteiro que vai atender e tratar um determinado problema, removendo duplicata de código por todo o sistema.
Algo que ajuda a definir responsabilidades é fazer a classe depender o mínimo possível de outras classes do sistema que não tem nada a ver com ela, que não a ajudam a resolver o que ela tem que fazer. É o que chamamos de baixo acoplamento. Um sistema com alto acoplamento é aquele que comporta como um jogo de “Pega-vareta”, onde se você mexer no lugar errado, derruba uma parte que não tem nada a ver com a história.
O objetivo final é transformar um código de 20 mil linhas que faz tudo no método principal, para várias classes e métodos que cada um faz a sua parte.