As a .NET programmer, how do you define the following terms?

As a .NET programmer, how do you define the following terms?

  1. Problem Domain and Domain Model
  2. Class and Object
  3. Object and Entity
  4. Business Object and POCO (Plain Old CLR Object)
  5. POCO and DTO (Data Transfer Object)
  6. Anemic Domain Model

My thoughts:

  • A domain model defines the scope of the problem domain, helps to the understanding of the problem domain among various stakeholders and facilitates communications between the technical and business teams through a shared vocabulary.
  • A class is a structure of data and its manipulation logics or codes.
  • An object is created on the basis of a class. A collection of objects contains one or more object instances.
  • An entity is an object that has its own identity to distinguish one object from another.
  • A business object, also known as domain object, is a regular object modeled after the real-world things. A business object separates domain model from implementation details.
  • A POCO, also known as persistence-ignorant objects, is a business object without persistence methods. A POCO may implement properties (or data members), validation rules and/or any other business logics but methods related to persistence.
  • A DTO is an object designed to move data between layers or tiers. In terms of the costly process to move data across boundaries, a DTO usually implements properties or data members only.
  • Anemic domain model is the use of a software domain model where the domain objects contain little or no business logic (validations, calculations, business rules etc).

References

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: