by Jason Harris | Domain Driven Design
One concept in Domain Driven Design that may be familiar to you is entities. Most object relational mappers like Entity Framework and NHibernate use the term “entity”. In their context an entity is an object that maps a row of data to a table. Although...
by Jason Harris | Domain Services, Uncategorized
Before diving in to what Domain Services are, let’s first under the problem they solve. Let’s recall one of the important rules of entities from our Aggregate Roots post. An Aggregate and its child entities should never contain object references to other...
by Jason Harris | Domain Driven Design
Spend time searching the internet for “What is Domain Driven Design” and you’ll quickly find it’s been defined several different ways. Admittedly most of these definitions are excellent and get the point across. My goal for this article is to...
by Jason Harris | Value Objects
When learning software development it’s highly probable you learned to leverage built-in programming language value types (e.g GUID, string, int, bool, decimal, etc) to pass around data within your business domain model. This is common practice, but we can...
by Jason Harris | Value Objects
You’re not limited to using Value Objects as entity property types. They have a lot of valuable uses as method return values. In fact you can increase your software suppleness by using Value Objects as method return types. The purpose of the class doesn’t...
by Jason Harris | Value Objects
One of the questions I’m occasionally asked is how should null value object properties be handled? For clarification, the usual reason that warrants this question is because a domain entity property is optional and its type is a Value Object. The principles of...