Re: ローカルDTO
Fowlerはプレゼンテーション層で必要とされる構造とドメインオブジェクトの間にミスマッチがあるときだけ、DTOを使えといっていますが、たいていの場合(よほど単純な画面でない限り)、ミスマッチはあるものです。
正しくは「重大なミスマッチがあるときだけ」ですね。
たいていの場合(よほど複雑な画面で無い限り)、重大なミスマッチはないものだと思うけどな。
ちなみに。オレのミスマッチの有無の判断基準は、ドメインオブジェクトのプロパティを使ったトラバースのみで対応できるか否か。
例を挙げれば、mixiのホーム画面なんかはミスマッチなし。
のような様々なデータがが入り乱れてはいますが、ユーザのドメインオブジェクトを起点として、画面表示に必要なデータは全て取得できそうです。
反対に。ミスマッチありなのは集計表みたいなもの。
例えば「商品別当月受注合計金額一覧」なんてのは、ドメインオブジェクトのプロパティからは直接取得することができない。こういうのは「ミスマッチあり」とみなしてローカルDTOを使ってもいいと思う。