Decoupling in Java
Example Application
Sequence Diagram
Class Diagram
What's wrong with this design
- Primitives Obsession
- Shared DTOs between layers
- Coupling
Running the Application
$ mvn compile exec:java
$ curl http://localhost:8080/commits/abcdef
Commit[message=Commit from git, filenames=[filea.txt,, fileb.txt]]