對於我的大多數應用程序,我使用直接DDD方法,這意味着將體系結構分離爲洋蔥體系結構的常見層,將域從基礎結構中解封等。兩個經常重複的構建塊,存儲庫和事件總線,像這樣(簡化):CQRS和DDD是如何協同工作的?
public interface IRepository<TEntity, TKey>
where TEntity : EntityBase<TKey>
{
void Add(TEntity entity);
}
public interface IEventBus {
void Publish<TEvent>(TEvent @event)
where TEvent : IEvent;
}
最近,我開始尋找到CQRS我又認識了很多類似的圖案,如倉庫,事件&指令總線。但是,例如CQRS中的存儲庫不負責存儲/檢索實體,而是負責管理聚合和構建事件流。
現在我想知道..兩個人一起工作嗎?還是他們完成不同的方法,只是分享一些共同的東西?
很好的答案! +1 – 2014-08-30 14:02:49
非常感謝您的全面解釋。我不知道CQRS不會自動意味着事件採購。 – xvdiff 2014-08-31 21:39:28