Chapter 1: Why Hexagonal Architecture?
Software that's not well organized and lacks sound software architecture principles may work just fine but develop technical debt over time. As new features are added, the software may become more complex to maintain because there is no common ground to guide code changes. Based on that problem, this chapter will explain how the hexagonal architecture helps tackle technical debt by establishing an approach where business logic is decoupled from technology code, allowing the former to evolve without dependency on the latter.
In this chapter, we will cover the following topics:
- Reviewing software architecture
- Understanding the hexagonal architecture
By the end of this chapter, you will have learned about the hexagonal architecture's main concepts: entities, use cases, ports, and adapters. You'll also know about some basic techniques so that you can start applying hexagonal principles to your projects.