🍣

私的TransactionScriptとDomainModelのまとめ

2023/05/18に公開

TransactionScript

ビジネスロジックの手続きを1本にまとめたもの

原文:
https://bliki-ja.github.io/pofeaa/TransactionScript/

DomainModel

オブジェクトに振る舞いとデータを持たせて責務をデザインしたもの

原文:
https://bliki-ja.github.io/pofeaa/DomainModel/

私的感想

Railsのような、ControllerからORMでDBにアクセスするような実装パターンだとTransactionScriptに入るということ。

ただ、Railsのmodel≠ドメインモデル。
なぜならRailsのActiveRecordはRDBのテーブルと1:1になっており、ユースケースと1:1ではないから。

なので、ControllerからActiveRecordを呼び出す(つまり複数の手続きを組み合わせる)TransactionScript的な思想なのかなと思った。

FatModelの問題とも繋がり、modelは複数のControllerから呼び出される可能性がある。

ある意味RailsはDDDを諦めた思想なのかなと思う。

参考

https://qiita.com/takasek/items/70ab5a61756ee620aee6
https://qiita.com/tanakahisateru/items/cb195ab7359197293b86
https://qiita.com/takasek/items/70ab5a61756ee620aee6
https://qiita.com/jimpei/items/93671b4b09407f9d4111

Discussion