口座残高管理や在庫管理のようなイベント主体のドメインはOOPではどう実装しますか?

一般的な方法だと↓のようにDBにドメインロジックを書くと思います
追記型のテーブル(入金テーブル, 出金テーブル)に行を挿入→トリガでスナップショット(口座テーブル.残高)を更新
アプリケーションは単にテーブルへの挿入とスナップショットの取得を行うだけです
これは非常にクリーンな構造だと思います

OOPの場合はDBにドメインロジックを置かないので必然的にトリガを使わない実装になりますが
その場合にクリーンな実装が想像つきません