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