Durante o projeto de um sistema orientado a objetos, uma equipe de desenvolvimento identificou que determinados problemas de projeto se repetem em diferentes partes do sistema. A equipe busca uma forma de lidar com essas situações recorrentes, para aumentar a manutenibilidade e a flexibilidade do software, sem comprometer as decisões de análise e modelagem já realizadas.
Nesse cenário, a ação mais adequada a ser adotada pela equipe é