メモ

DCIを積極的に採用しない場合でも、使用言語がRuby、Entityの肥大化で困ってる場合、振る舞いを Entity から あるmodule に移動させ、実行コンテキストで そのモジュール と Entityを extendsを使って 動的紐付けにする リファクタリングは、選択としてありでは、と思い始めてきた。

過去の経験上、Entityの外側にLogicが結局は トランザクションスクリプトのスパゲティコードを呼び寄せる変な力が働いていたり、Entityが肥大化したり、Entityの外側に薄い膜を張ったクラスを用意したのはいいが、永続化する際にその膜をはがすのがうざかったり、ユーティリティのstaticメソッドに配置してみたが、パラメータ渡しがうざかったりとか、いろいろ悩ましてきている。



この場合は、DCI設計の特徴である、振る舞いの分析 -> ロールへの振る舞いの責務分配の、アイデアは切り捨てているが。