At its worst business logic can be very complex. Rules and logic describe many different cases and slants of behavior, and it's this complexity that objects were designed to work with. A Domain Model creates a web of interconnected objects, where each object represents some meaningful individual, whether as large as a corporation or as small as a single line on an order form.

Defining Domain Model

A domain model is a system of abstractions that describes selected aspects of a sphere of knowledge, influence, or activity (a domain[3]). The model can then be used to solve problems related to that domain. The domain model is a representation of meaningful real-world concepts pertinent to the domain that need to be modeled in software. The concepts include the data involved in the business and rules the business uses in relation to that data.

A domain model generally uses the vocabulary of the domain so that a representation of the model can be used to communicate with non-technical stakeholders.

Source: Wikipedia

Domain Model

Source: martinfowler.com

Justification Of The Choices Made

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

The Other Alternatives That Were Not Chosen

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Further Reading