I don’t know that anyone can definitively say whether addresses and emails always belong in the same context or not. In some systems, they may very well be considered first class entities. In others, they would be considered value objects associated with a root entity, with invariants governing whether they can be edited independently. DDD — whether or not it says anything about the complexity of objects — is primarily about organizations defining a language around their own domains.

I think the idea of well-defined boundaries is covered by the article. At the start, it discusses organizing things into “well-defined units”, and the article later defines three components of an Aggregate, the first being “A boundary.” A chunk of the article subsequently discusses ways an organization might define the Aggregates. How to define Aggregates — and what they might look like in the end — is of course context-driven and up to massive debate. Along those lines, I’d be interested to hear any successes you’ve had with Aggregates, and generally thinking in DDD.

Software architect, engineering leader, musician, husband, dad

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store