個々の画面に対応するJavaBeansをどこでつくるか?

ユーザーインタフェースをあらわすJavaBeansってつくりますよね??エンティティ(ドメインモデル)がそのまま画面に必要なデータをすべてもっていることはまれだと思います。
UIに対応するのJavaBeansをどこで作るべきか?これ、悩みます。2つ考えました。じつはどっちもはずれだったりして…。

1.画面に対応するJavaBeansはエンティティ(ドメインモデル)と同じように扱う。つまり永続化層(DAO)で生成し、Service層を経てプレゼンテーション層へわたす。

2.画面に対応するJavaBeansは通常のエンティティとは区別してプレゼンテーション層で作成する。プレゼンテーション層はいくつかのエンティティをサービス層から受け取ってJavaBeansを組み立てる。

何が悩みどころかといえば、1の場合サービスやDAOが特定の画面に特化してしまうけどいいのか。2の場合だと、プレゼンテーション層でJavaBeansを組み立てるのは煩雑なのでは(DAOの中で必要な情報に全てにアクセスしてJavaBeansにマッピングしたほうが楽なのでは)、ということです。