Clean Applications with Hexagonal Architecture (Manning)

Modern architectural styles like “hexagonal,” “clean,” and “onion” all share a straightforward principle: business logic should sit at the center of your software, free of frameworks, databases, user interfaces, and external services. The tricky bit comes when you start putting these ideas into practice when you’re refactoring a legacy enterprise mudball, implementing microservices, or building a “modulith” in Spring. Clean Applications with Hexagonal Architecture: Building maintainable microservices and modular monoliths guides you from the hexagonal architecture at the core of modern enterprise software to its practical implementation with examples in Java and Spring Boot.

Enrique Medina Montenegro

If you’ve ever worked on an application where changing one database, framework, or external service unexpectedly breaks something elsewhere, this book tackles that problem directly. It shows how to keep business logic separate from the technologies surrounding it, using ports, adapters, and clear application boundaries.

The book takes a practical approach, following an application called WriteFlow as it evolves from good architectural intentions into a genuinely maintainable system. Along the way, it explores domain modeling, use cases and commands, repositories, data mapping, dependency inversion, and bringing all the pieces together in a running application.

Although the principles can apply more broadly, this is primarily a backend architecture book. It’s aimed at developers building microservices or modular monoliths who want systems that are easier to test, change, and understand.

Six chapters and an appendix are currently available through Manning’s Early Access Program, with new material added as the author continues writing. MEAP readers can read the book while it’s being developed and provide feedback that may help shape the finished edition.


Don’t forget you can get 45% off with your Devtalk discount! Just use the coupon code “devtalk.com” at checkout :+1: