Summary
In this chapter, we learned how important software architecture is in establishing the foundations to develop robust and high-quality applications. We looked at the pernicious nature of technical debt and how we can tackle it with sound software architecture. Finally, we got an overview of the hexagonal architecture’s core components and how they enable us to develop more change-tolerant, maintainable, and testable software.
With that knowledge, we’re now able to apply these hexagonal principles to build applications based on the proposed Domain, Application, and Framework hexagons, which will help us establish boundaries between business code and technology code, laying the ground for the development of complete hexagonal systems.
In the next chapter, we’re going to explore how to start developing a hexagonal application by looking at its most important part: the Domain hexagon.