サービスごとのDTOの利用

僕はどちらかといえば積極的にDTOを使いません。特にサービスごとにDTOを作るようなことは避けます。しかしこのようなDTOを利用するケースはそれなりにあってメリットをいろいろ考えました。結論としては
DTOを使う最も大きな理由は画面とビジネスロジックに大きく分けて初期設計の複雑さを小さくすること』
これが導入の大きな動機だと考えました。もちろん共通化が阻害されてしまうけど、設計観点が限定され開発しやすい無難な選択がメリットということでしょう。

ちなみに、一律に導入するのではなく処理パターンに分類してDTOドメイン層オブジェクト(おもにエンティティ)の適材・適所に利用を考えた方がベターだと思っています。

処理パターンエンティティDTO
マスタメンテ処理
トランザクション処理
検索
◎:第1候補、○:利用可能、△:第2候補