- 637 名前:デフォルトの名無しさん mailto:sage [04/10/17 15:42:09]
- まず前提。Domain ObjectとDTOの相互変換はめんどくさい。
FowlerのPofEAAのService Layerの説明のところに確か 「DTO変換のコストを過小評価するな。オブジェクトのツリーが 深くなるとすげー辛い」みたいなことが書いてあったはずだ (いま本が手許にないので正確な表現はわからん)。 俺も「Presentation層のコントローラ(この時はStrutsのAction)は Service Layerを介してDTOを受け取り、Domain Objectには絶対 直接触らない」ってポリシーで設計したけど結局実装とテストが やたらしんどくなって方針転換したことがある。 んで、DTO変換をしないとなると、Domain Object側に巻き込むか、 DTO側に巻き込むかという二者択一となる。最近のひが氏は後者に 転んでいる模様。 # ttp://d.hatena.ne.jp/higayasuo/20041010#1097399686 とか ちなみに俺の上記のケースは細粒度のDomain Objectのトランザクション間 かつコントローラ間のロングキャッシュが非常に重要なドメインだったので 前者を選択したよ。 # ひが氏はロングキャッシュは知らんとか言ってるけど。 # ttp://d.hatena.ne.jp/higayasuo/20040808#1091933710
|

|