I know that DDD suggests to create separate usecases foreach business operation.
Imagine you have a Player aggregate. It has Address Value Object.
DDD doesn't allow to create an UpdatePlayer()
method on PlayerApplication
layer. What we should do instead is creating specific usecases in which business is interested. So, instead of UpdatePlayer()
, I want to have RelocatePlayerTo(Address newAddress)
.
What if after relocation, I noticed that I made a mistake in newAddress? How can I adjust the address? For example I misspelled the street name, or entered a wrong unit #.
Should I create a new usecase AdjustPlayerAddress
? And a new DomainEvent PlayerAddressHasBeenAdjusted
?