Refactoring from MVC to DDD with a bit of Hexagonal Architecture. No slides. All live code with Quarkus, Supersonic Subatomic Kubernetes Native Java. MVC apps make up an enormous percentage of enterprise applications. From Struts to Spring MVC to Jakarta MVC this pattern has been implemented by developers for 20+ years. MVC apps are (relatively) easy to build, easily understood because of their ubiquity, and (relatively) easy to maintain. However, the MVC pattern's advantages disappear with complicated business logic, or in a complicated "domain." Domain Driven Design excels in complicated environments, and provides a structure that makes coding in a difficult domain significantly easier and faster. In this presentation I will build a basic MVC app and refactor it to adhere to DDD principles implementing Aggregates, Repositories, Value Objects, and Services. And I'll take a look at how DDD Services enable extensibility with Hexagonal Architecture. No slides; all code. I will also show off Quarkus in dev mode. Quarkus dev mode makes this possible look easy.
From MVC to DDD (and Hexagonal Architecture)
Live-code a refactor from MVC to Domain Driven Design and Hexagonal Architecture with Quarkus — no slides.