2012-02-25 8 views
0

私のMVCとしてストラット2を使用するこの3層アーキテクチャでは、どのクラスをモデルに使用するかわかりません。3層ストラット2アーキテクチャのモデルクラスには何を使用しますか?

使用例:取得指定された名前の宛先(都市)を取得します。

アーキテクチャ:Struts 2 MVC (Action) -> Service -> DestinationDAO

支柱2:View <---> Action(この動作は、サービス層を呼び出し)

DestinationDAOは、Hibernate使用してデータベースから宛先を取得する機能getDestination(String name)を有しています。

私の質問は:アクションクラスはjspで宛先情報を表示するために使用できるプロパティが必要です。私はDestination POJO(私は休止状態で使用する)を使うべきか、それとも別のオブジェクトでなければならないのでしょうか?

この件に関するご意見・ご感想をお寄せいただきありがとうございます。

答えて

1

あなたの目的地のPOJOをビューのDOとして使用できますが、私はこのアプローチをお勧めしませんし、デバッグが困難な望ましくない動作を作成することもあります。そのようなユースケースの1つは、 Hibernateは、モデル(POJO)でいくつかの変更が行われたときに照会します。

ビューをレンダリングするために必要なプロパティを持つDTOのセットを作成し、これらのDTOをMVC(Struts2)のModelオブジェクトとして使用します。 サービスレイヤーを呼び出すときに、DTOからPOJOに値をコピーすると、レイヤーのデカップリングが容易になり、変更が容易になります。

関連する問題