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