A domain object class implements the properties and the behavior of a domain object. The canonical example is a Person
class, which might serve as a base class for a large enterprise application for managing payroll:
public class Person : DomainObject { [StringProperty(MaximumLength=60)] public virtual string FirstName { get; set; } [StringProperty(MaximumLength=60, IsNullable=false)] public virtual string Surname { get; set; } }
A re-motion programmer starts his work on a new re-motion application by declaring such domain object classes and their relations among them.
An instance of a domain object class is called a domain object or domain object instance.