No more Death March

あるSEのチラシの裏 C# WPF

ステートソーシングな設計をイベントソーシングな設計に

ステートソーシングな設計の「商品テーブル」をイベントソーシングな設計に置き換える時のイメージをメモ

「商品テーブル」
・ID
・コード
・名称
・登録担当者ID
・登録日時
・更新担当者ID
・更新日時
・削除担当者ID
・削除日時

手順1)ドメインに関する出来事を箇条書きにする

・新しい商品を登録した。
・商品の名前を変えた。
・商品のコードを変えた。
・商品を削除した。

手順2)出来事をテーブルに置き換える

・「商品が登録されましたテーブル」
・「商品の名前が変わりましたテーブル」
・「商品のコードが変わりましたテーブル」
・「商品を削除しましたテーブル」

手順3)各テーブルの列構成を考える。

「商品」
・ID

「商品登録されましたテーブル」
・ID
・商品ID
・担当者ID
・発生日時

「商品の名前が変わりましたテーブル」
・ID
・商品ID
・新しい商品名
・担当者ID
・発生日時

「商品のコードが変わりましたテーブル」
・ID
・商品ID
・新しいコード
・担当者ID
・発生日時

「商品を削除しましたテーブル」
・ID
・商品ID
・担当者ID
・発生日時