It sounds to me like you actually have two distinct objects here, Address
and Location
. A Location
could be used to represent a corporate office or some other conceptual place, but an Address
would be a value object that represents a physical location. An Address
never changes, even ifbut the purposeAddress
property of thea Location
changescan be changed from one Address
value object to another with an appropriate event.