Using Value Objects as Entity Properties

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...

Returning Value Objects from Methods

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...

Null Value Object Properties

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...

Identity Value Object Types

This article reviews some of the different Identity Value Object Types and is an addition to Identity Value Objects. We’re going to go over abstract implementations for some common ones. Note: If you’re not familiar with the basic concept of Value Objects...

Identity Value Objects

Today I want to talk about an idea that brings a paradigm shift to the way you identify domain entities. How do you feel about using Identity Value Objects for entity ID types in your domain? If you have two entities, say Company and Product you’d have two...