🍣
私的TransactionScriptとDomainModelのまとめ
TransactionScript
ビジネスロジックの手続きを1本にまとめたもの
原文:
DomainModel
オブジェクトに振る舞いとデータを持たせて責務をデザインしたもの
原文:
私的感想
Railsのような、ControllerからORMでDBにアクセスするような実装パターンだとTransactionScriptに入るということ。
ただ、Railsのmodel≠ドメインモデル。
なぜならRailsのActiveRecordはRDBのテーブルと1:1になっており、ユースケースと1:1ではないから。
なので、ControllerからActiveRecordを呼び出す(つまり複数の手続きを組み合わせる)TransactionScript的な思想なのかなと思った。
FatModelの問題とも繋がり、modelは複数のControllerから呼び出される可能性がある。
ある意味RailsはDDDを諦めた思想なのかなと思う。
参考
Discussion