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});
}
}
그렇다면 실제로 아래 값을 설정하는 개인 메서드가 있습니다.
나는 논리 상태 클래스로 이동했지만, 난이 이벤트 소싱을 사용하고 있기 때문에이 기본 클래스에있는 경우 메소드를 호출 할 필요가 DDD 사용하기 전에 상태 패턴을 사용했다private void OnCreated(ProductCreatedEvent e){
_name = e.Name;
}
private void OnSubscriptionCreated(SubscriptionCreatedEvent e){
_subscriptions.Add(Subscription.Create(e.Name));
}
는 다음 내 개인을 호출 실제로 값을 설정하는 'On'메소드.
그 논리를 내 상태 클래스로 옮기는 방법을 궁금해했습니다. 그렇지 않은 경우에는 내 상태 클래스에만 실제 구현 코드가 아닌 'Can'메서드 만 있습니다.
이'When' 키워드는 무엇입니까? 최신 C# 버전의 새로운 기능입니까? 6.0? – niksofteng
내 기본 클래스의 메서드가 언제입니까 – user1180223
당신이 냉소적 인 것을 알지만 많이 좋아합니다. 또한 'When new product Created Event'에서 전달되는 객체 유형의 문장으로 읽습니다. – user1180223