blog.bouzuya.net

2024-12-10 Event Sourcing で集約の捉え方が変わったという同僚の話

同僚が「 Event Sourcing を適用して集約の捉え方が変わった」という旨のことを書いていて印象的だった。

State を中心とするか Event を中心とするかで、集約の仕事は変わるところがある。

State を中心とすると、現在の State に Command を適用し、次の State を保持する。

Event を中心とすると、過去の Event (現在の State) と Command に基づいて、次の Event を発行する。

Command -> Vec<Event> -> Result<Vec<Event>, Error> のようなイメージ。

State もすべてを持つ必要はなくて、あくまでも次の Event の発行を判断するのに必要な情報だけでいい。

「 (Event が) 流れているイメージ」とも言っていたので、読書会を実施した『関数型ドメインモデリング』のような処理のパイプラインのイメージに近づいてきたのかもしれない。

彼の気持ちはともかく、ぼくはぼくのまいた種が育っていて嬉しい。そして、ぼくはこういう新しい捉え方にたどり着いたときの感動をチームで共有したい。


今日のコミット。