Durante a manutenção do sistema de licitações de uma prefeitura, a equipe de TI identificou que diversas partes do código se
tornaram difíceis de modificar devido à alta interdependência entre os módulos. Um dos analistas propõe a aplicação de princípios de design que favoreçam a evolução do código e a aplicação do DRY. O problema identificado pode ser resolvido adequadamente refatorando o código para encapsular as funcionalidades comuns em classes abstratas, aplicando o padrão