If you're curious about Domain Driven Design but don't know where to start, join us for a three part series called "Decomposing Domain Driven Design". This month we'll kick off Part One as Michael Phillips breaks down one aspect of DDD: Value Objects.
Our individual business domains, the primary focus of our business logic, often span multiple real world concepts that must be reflected in the software we build. Mathematics, currency, weight, and measurement are examples of the different types of logic that our business domain might be concerned with, but are not primarily focused around. Managing the complexity of these different concerns can be difficult, but can be made much simpler if we represent these types of values as objects.
In this talk, we will discuss how to use Value Objects to encapsulate logic across various aspects of our domain. We will discuss the concept of identity and immutability, and we will learn how using Value Objects can help simplify our code using basic Object Oriented Principles.