Domain-driven-design Notes
Collection of software development notes related to domain-driven-design.
Domain-Driven Design: Defining and Enforcing Domain Invariants
A practical guide to making Domain-Driven Design work by defining domain invariants and enforcing them through code. Covers why most teams skip this step, how to design interfaces that prevent invalid states, and how to recognize when a codebase is truly following DDD.
Hexagonal Architecture for Testability: Imperative Shell, Functional Core
Stop fighting mock-heavy, brittle tests. Hexagonal Architecture separates business logic from databases and IO, and the Imperative Shell, Functional Core pattern makes that boundary explicit. Includes a concrete before-and-after example in Java.