Esta versão do projeto implementa a leitura de retorno de boletos com o padrão Strategy e Template Method, evitando a duplicação de código existente na versão anterior utilizando apenas o padrão Strategy. No entanto, o projeto utiliza programação funcional para tornar as implementações mais simples.

Por estar utilizando os dois padrões em conjunto, note que a estrutura das classes não reflete exatamente os diagramas apresentados na pasta anterior.