A blurb from Vaughn Vernon in Implementing Domain-Driven Design (2013) has a fantastic explanation to what Domain-Driven Design is: The software development approach called Domain-Driven Design, or DDD, exists to help us more readily succeed at achieving high-quality software model designs. When implemented correctly, DDD helps us reach the point where our design is exactly how the software works.