2021-10-17のツイート
- 17:15:16
ヘキサゴナルアーキテクチャのアダプタの種類。REST API アダプタ、イベントを消費するコマンドハンドラアダプタ、イベントパブリッシュアダプタ、データベースアダプタ。 - 17:19:24
モデルが状態のみを持ち、ビジネスロジック専用のモジュールがあればトランザクションスクリプト。モデルが状態と振る舞いをもてばオブジェクト指向。 - 17:26:39
必ず守らなければならないビジネスルールを不変条件と呼ぶ。例えば最低限の注文金額。 - 17:33:27
アグリゲートは整合性の単位。 - 17:39:15
アグリゲートの3つのルール。1、アグリゲートルートだけを参照する。2、アグリゲート間の参照では主キーを使う。3、一つのトランザクションで一つのアグリゲートを作成更新する。 - 17:44:08
サービスとアグリゲートは1対1。アグリゲート間の整合性はサーガで保証する。 - 17:48:17
アグリゲートの粒度は小さくする。同時に処理できるリクエストの数が増えてスケーラビリティが向上する。トランザクションの衝突を減らせる。ビジネスロジックの肥大化を防ぐ。 - 17:53:42
ビジネスロジックはアグリゲート、サービス、サーガの3つに分散される。サービスはビジネスロジックのエントリポイントとアグリゲートの永続化。サーガはアグリゲート間の整合性を保証。その他のビジネスロジックはアグリゲート。 - 17:56:21
どメインイベントはアグリゲートの状態変更を表す。 - 18:01:17
ドメインイベントはアグリゲート間の整合性保証やCQRSのデータ同期、web hookやメッセージブローカー、アプリケーションの監視、ユーザー行動のモデリングなどに使う。