"Domain-Driven Design is an approach to software development that
centers the development on programming a domain model that has a rich
understanding of the processes and rules of a domain. ....... The
approach is particularly suited to complex domains, where a lot of
often-messy logic needs to be organized."——Martin Fowler