public void Dispatch(DomainEvent domainEvent) { string eventName = domainEvent.Name(); if (!this.eventHandlers.ContainsKey(eventName)) { return; } Dictionary <string, IEventHandler> eventHandlers = this.eventHandlers[eventName]; foreach (string key in eventHandlers.Keys) { eventHandlers[key].Handle(domainEvent); } }