I’m experimenting with Axon and see that in most examples of Create/Open/New Commands the ID of the aggregate the CommandHandler is creating is already contained in the command itself.
Now, from a SOC concept, the UI/Client should not care about the ID any object is getting. Also, it is very dangerous to let a client define a “unique” identifier. Hence the benefits from a preset ID is testability (Tell don’t ask).
Still I think API cleanliness should prevail. What do guys think?