It is a cutting age modeling meathodology used for building complex business application
Motivation
To Create an object model for business that handles all the rules and data data flow.
Summary
Domain model is an OO representation of business logic.
use it when business logic is very complex or prone to frequest change.
An OO domain model will often look similar to a database model.
Types of Domain Model
Simple Domain Model
A simple Domain Model looks very much like the database design with mostly one domain object for each database table.
A simple Domain Model can use Active Record, whereas a rich Domain Model requires Data Mapper.
Rich Domain Model
A rich Domain Model can look different from the database design, with inheritance, strategies, and other patterns, and complex webs of small interconnected objects.
A rich Domain Model is better for more complex logic, but is harder to map to the database.
When to Use
In those cases where the behavior of the business is subject to a lot of change, having a domain model will decrease the total cost of those changes.
Business logic is very complex.
Related Patterns
TODO
Related Technologies
TODO
References
Overview Tutorials
Further Study