Um antigo sistema usado pelo Ipea para produzir gráficos socioeconômicos dos estados e municípios brasileiros é composto pelas seguintes classes:
Esse design original atendia bem às necessidades de geração de gráficos. Com o passar do tempo, entretanto, surgiram
novas demandas sobre dados dos municípios, o que obrigou os desenvolvedores a inserir novas operações na classe
Municipio. Essas mudanças produziram as seguintes alterações no design original:
Essas alterações trariam alguns efeitos colaterais, pois, como o acesso aos dados de um município é feito por meio de
operações definidas na classe Estado, quanto mais solicitações sobre os municípios houver, maior será o número de operações inseridas na classe Estado, com o único intuito de prover dados sobre os municípios localizados nesses estados.
Sendo assim, os desenvolvedores do Ipea refatoraram o código existente e produziram o seguinte design:
A partir de então, as solicitações de dados sobre os municípios para a geração de gráficos passaram a ser feitas diretamente aos objetos da classe Municipio, sem a intermediação da classe Estado.
Que refatoração foi aplicada?