Esta versão do projeto implementa a leitura de retorno de boletos com o padrão Template Method, utilizando programação funcional. Com tal implementação, evitamos a duplicação de código existente na versão anterior utilizando apenas o padrão Strategy, conseguindo os mesmos efeitos de tal padrão: permitir trocar a implementação de um algoritmo em tempo de execução.
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.
A modelagem desta implementação é mostrada abaixo.