Why not all hexagons have eight sides
summary
Hexagonal architecture reorients dependencies so business code sits at the core and infrastructure implements port interfaces, demonstrated with concrete patterns: dependency inversion, primary and secondary adapters, and use of Spring Data JPA for driven adapters. Examples show controllers as driving adapters, repositories as driven ports, test fakes swapping adapters, and one-class intermodule bridges. Caveats include transaction and locking behavior that force logic into the core, and practical mapping steps for moving a monolith into many hexagonal modules.
AI-written summary · about
chapters (17)
- 0:00Introduction to hexagonal
- 2:21Limitations of basic model
- 3:46Real-life decomposition examples
- 9:59Layered architecture flaws
- 16:42Dependency inversion solution
- 19:10Why hexagonal matters
- 20:58Direction of control issue
- 22:22Project structure comparison
- 26:56Scaling layered architecture
- 31:09Vertical slicing challenges
- 35:02Vertical-first approach
- 38:36Hexagon as modular architecture
- 41:06Adapter pattern deep dive
- 44:14Dependency inversion principle
- 46:19Testing and adapters
- 48:46Transaction complexity
- 50:30Architecture as mental model
related talks
01h 01mWhy not all hexagons have eight sides
15mHexagonal Architecture: How to Beat Spaghetti Code?
25mHexagonal Architecture in Monoliths and Microservices
47mHexagonal Architecture in Practice, Live Coding That Will Make Your Applications More Sustainable
45mThe Hexagonal - Ports & Adapters Architecture
47mThe End of Layered Architectures with the Hexagonal Approach
50mHexagonal Architecture in Practice, Live Coding That Will Make Your Applications More Sustainable
46mHexagonal at Scale, with DDD and microservices!
