Domain-Driven Design (DDD) Demystified