- - PR -
ロジック層やデータアクセス層でのWeb依存オブジェクトの扱い
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-04 00:27
ロジック層の再利用は確かに多くの場合は不要だと思います。
ただ、他の方が仰るようにレイヤーの分離をすることでメンテナンス性は 向上すると思います。 ActionFromとDTOを作成するのが面倒なのであるならばFormにインターフェースを 実装させるのも手では無いでしょうか? インターフェースをロジック層に引き渡す分には実体がActionFormでも良い気がします。 ただ私が良く悩むのがViewの設定です。ボタンや項目の非表示などをActionでやると コードが煩雑になり、画面表示の委譲クラスを作ろうとしても、表示する画面によって 必要ではないなどの判断が難しいと感じています。 そのため気が付くと各開発者で作り方に微妙に統一感が出ていないことが多いです。 | ||||
|
投稿日時: 2005-10-04 12:35
ActionFormをラップしたインターフェースを作り、それをロジック層に渡すとなると、実体がActionFormなので、ロジック層におけるコンパイルレベルでは問題なくても、実行時にStrutsに依存するということにならないですか?
あとそれから改良しようとして悩んでいるのが、ActionFormを入力画面にのみ限定する場合、出力画面ではどうするかです。出力のみの画面は、参照や確認画面、一覧画面などです。そこにDTOを使うこともできるのですが、そこにはプレゼンテーション層用のメソッドも実装することになり、DTOとしての役割を超えてしまう気がします。かといってプレゼンテーション層用のデータオブジェクトを作るのも冗長な気がします。 この辺どうお考えですか。 [ メッセージ編集済み 編集者: Tack 編集日時 2005-10-04 23:20 ] | ||||
|
投稿日時: 2005-10-05 00:41
私ならば、当該DTOを用いて画面表示を行うクラスを作成し、画面表示固有のメソッドは全てそこに実装します。 ※DTOに画面表示専用メソッドを追加した方が、作成するだけでみれば確かに簡単なんですが、「自分がそのオブジェクトを利用してロジック層側の開発やメンテを行った場合」のことを考えると、確実に愚痴の1つや2つはこぼしてしまいますので..... |