0
我正在使用CQRS與事件源並且我正在嘗試對我的聚合根使用狀態模式。使用CQRS和事件源的狀態模式
我目前有一個產品域模型,有一些叫做Create()和CreateSubscription的方法,如下所示。
public static void Create(string name){
When(new ProductCreatedEvent { Name = name});
}
public void CreateSubscription(string name){
if(_productState.CanCreateSubscription()){
When(new SubscriptionCreatedEvent { Name = name});
}
}
然後我有私人的方法,實際上設置如下的值。
private void OnCreated(ProductCreatedEvent e){
_name = e.Name;
}
private void OnSubscriptionCreated(SubscriptionCreatedEvent e){
_subscriptions.Add(Subscription.Create(e.Name));
}
當我使用DDD邏輯移入狀態類,但因爲我使用事件採購我需要調用時方法,它是一個基類之前使用的狀態模式,然後調用我的私人實際設置值的'On'方法。
我想知道如何將該邏輯移入我的狀態類,否則此刻我的狀態類只有'Can'方法,而不是實際的實現代碼。
這是什麼'When'關鍵字?它是最新的C#版本中的新功能嗎? 6.0? – niksofteng
什麼時候是我的基類 – user1180223
上的方法我知道你的諷刺,但我很喜歡它。它也讀作爲一個句子,當'新產品創建事件'傳入時' – user1180223