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 overviewed 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 help us establish the boundaries between business code from technology code. This lays the groundwork for developing 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.