Hexagonal Software Architecture for Web Applications
Discover Hexagonal Architecture to create web applications with isolated, testable layers. Gain insights into designing clean, maintainable modules and advocating for suitable techniques for your application.
Join 3.1 million developers at
What You'll Learn
- Analyze layered architecture pitfalls (database-driven design, shortcuts, testing, hidden use cases, parallel work)
- Apply SRP and Dependency Inversion to isolate business rules from web and persistence concerns
- Design hexagonal architecture using ports and adapters to decouple the application core from external systems
- Organize code by feature with an architecturally expressive package structure (domain, application, adapters)
- Implement domain models and use cases with dedicated input/output models and validation rules
- Build web and persistence adapters with sliced controllers/ports and transaction boundaries
- Plan and implement tests across the test pyramid for domain, use cases, and adapters
Learning Roadmap
1.
Before We Begin
Before We Begin
2.
What's Wrong with Layers?
What's Wrong with Layers?
3.
Inverting Dependencies
Inverting Dependencies
7 Lessons
7 Lessons
4.
Organizing Code
Organizing Code
6 Lessons
6 Lessons
5.
Implementing a Use Case
Implementing a Use Case
11 Lessons
11 Lessons
6.
Implementing a Web Adapter
Implementing a Web Adapter
5 Lessons
5 Lessons
7.
Implementing a Persistence Adapter
Implementing a Persistence Adapter
8 Lessons
8 Lessons
8.
Testing Architecture Elements
Testing Architecture Elements
9 Lessons
9 Lessons
9.
Mapping Between Boundaries
Mapping Between Boundaries
7 Lessons
7 Lessons
10.
Assembling the Application
Assembling the Application
6 Lessons
6 Lessons
11.
Enforcing Architecture Boundaries
Enforcing Architecture Boundaries
6 Lessons
6 Lessons
12.
Taking Shortcuts Consciously
Taking Shortcuts Consciously
8 Lessons
8 Lessons
Tom Hombergs
Simplicity nerd. Writer of code and text to make the complicated simple. Author of "Get Your Hands Dirty on Clean Architecture" and "Stratospheric - From Zero to Production with Spring Boot and AWS"
Trusted by 3.1 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Software Developer
Carlos Matias La Borde
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Built for 10x Developers












Free Resources