What is Domain-Driven Design?
Over the last decade or two, the philosophy of Domain-Driven Design, or DDD for short, has developed as an undercurrent in the object community. The premise of DDD is two-fold:
For most software projects, the primary focus should be on the domain and domain logic
Complex domain designs should be based on a model.