Why Domain-Driven Design (DDD) Matters for .NET Development