protected abstract void When(DomainEvent @event);
public void ApplyAndPublish(DomainEvent @event) { _uncommittedEvents.Add(@event); Apply(@event); }
public void Apply(DomainEvent @event) { When(@event); }
public void Causes(DomainEvent @event) { _uncommittedEvents.Add(@event); Apply(@event); }