How do I handle "singletons" in domain driven design?
I have (for instance) a domain object Account with a property EmailAddress which should be unique. To validate this I need to put all EmailAddress's in a large aggregate so that they can be validated in the same tx-scope? But how do I make sure there's only one such aggregate to validate EmailAddress's in this domain? Do the application need to be prepared with ids of singletons like this? Should domains have a definitive "Root"-aggregate to reference other aggregates such as singletons? Should the app have a synchronous index to reference/validate singletons in the domain? Or should it be a asynch (stateful?) index to just reference singletons without validating it? Other ways?
(I'm not using any particular database system)