Domain model

Sample domain model for a health insurance plan
Domain object model redirects here; not to be confused with Document Object Model.

In software engineering, a domain model is a conceptual model of the domain that incorporates both behavior and data.[1][2]

Overview

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.

Usage

A domain model is generally implemented as an object model within a layer that uses a lower-level layer for persistence and "publishes" an API to a higher-level layer to gain access to the data and behavior of the model.

In the Unified Modeling Language (UML), a class diagram is used to represent the domain model.

See also

Notes

  1. Fowler, Martin. Patterns of Enterprise Application Architecture. Addison Wesley, 2003, p. 116.
  2. Fowler, Martin. "P of EAA - Domain Model"
  3. Evans, Eric Domain-Driven Design: Definitions and Pattern Summaries. Domain Language Inc., 2006, p. 3.

External links

This article is issued from Wikipedia - version of the 11/2/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.