Optei pelo Java 8 principalmente pela nova API de datas. Existe apenas 1 lambda utilizado para implementar uma interface funcional.
Gradle pela familiaridade, já que é o gestor de dependências padrão para desenvolvimento Android. Esse projeto vai com seu Gradle Wrapper, para que os scripts Gradle (build, test, bootRun, etc.) possam ser executados sem a necessidade de instalação do Gradle.
Com os starters:
- Web
- Thymeleaf
- Test
Spring boot pela agilidade dos starters, Thymeleaf pela similaridade dos templates com o desenvolvimento web convencional.
Isolei os tipos de transferência em um Enum
e utilizei o padrão
de projeto Strategy. Fiz com que cada valor do Enum
recebesse
sua implementação de cálculo no construtor, garantindo que possíveis
novos tipos de transferências não sejam criadas sem sua devida
implementação.
./gradlew bootRun
gradlew.bat bootRun
O servidor vai iniciar na porta 8080