DDD
It is the concept that the structure and language of software code (class names, class methods, class variables) should
match the business domain. For example, if a software processes loan applications, it might have classes such as
LoanApplication and Customer and methods such as AcceptOffer and Withdraw .
DDD connects the implementation to an evolving model.
Goals
Placing the project's primary focus on the core domain and domain logic.
Basing complex designs on a model of the domain
Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that
addresses particular domain problems.
Concepts
Context: the setting in which a word or statement appears that determines its meaning.
Domain: A sphere of knowledge, influence or activity.
Model: A system of abstractions that describes selected aspects of a domain and can be used to solve problems related
to that domain.