By going through the project of “Pacco” micro service, I am having some trouble to figure out reason
behind of separate the architect into those 3 sub project as “Core --> Application --> Infrastructure --> Api”. It seems like:
- the Core is the base layer for dealing with POJO objects as in traditional architecture
- the Application is the “service” middle layer as in traditional architecture
- the Infrastructure is the final interface for services to expose with api.
However, I also found that handlers are being implemented both in Application(for command) and Infrastructure(for queries), why is that and why not combine all handlers in Application layer only while all command and query in Infrastructure?