There are a lot of concepts that is important for DDD. The most important ones are the Domain, the Model and the Ubiquitous Language. Domain A sphere of knowledge (ontology), influence or activity. The subject that the user is working a program on the domain of is software. The domain in DDD is the problem space. The corresponding solution space is called the model. Model A system of abstractions that describe selected aspects of a domain and can be used to solve the problems associated with that domain. With DDD, we are looking to create models of the domain. Things which often places great effect at the beginning of a project, such as persistence, user interface and protocol. Model does not mean a graph or set of graphs e.g. UML. Charts are useful, but they are not the model, just different views of the model. The model is one that we choose to implement in software, represented in the code used to construct the system. The code itself is the model. This gives certain expec...