163

1)なぜとを使用するDTOのかDAO、いつ使用する必要があるのか​​。GUIデータの挿入、編集、削除を行うJavaソフトウェアを開発しています。DTO/DAOしかし、私はとModel、、、(MVC)構造Viewを区別するのに苦労していますか?Controllerそれらは似ていますか?Javaを介してデータベースと対話するときに使用する方が良いですGUI

2)私が本当に興味を持っていることの1つは、1つのクラスに参加することが良い習慣であるかどうかviewですController。考えてみると、フレームクラスをNetbeans作成し、フレームにコンポーネントを追加することができます。ボタンをダブルクリックすると、データがユーザーに表示されるフレームに表示されるメソッド(コントローラー)に移動します(表示) 。つまり、彼らは同じクラスにいます。それはその時の概念に完全に反しているのでしょうか? GUIJButtonactionListener

これが私が話していることです

ビューとコントローラーを1つのクラスに含めるのは悪い習慣ですか?

4

1 に答える 1

325

DTOはDataTransferObjectの略語であるため、アプリケーションのクラスとモジュール間でデータを転送するために使用されます。

  • DTOデータ、ゲッター、セッター、コンストラクターのプライベートフィールドのみを含める必要があります。
  • DTOこのようなクラスにビジネスロジックメソッドを追加することはお勧めしませんが、いくつかのutilメソッドを追加することは問題ありません。

DAOはDataAccessObjectの略語であるため、データストレージ(データベース、ファイルシステムなど)でデータを取得、保存、更新するためのロジックをカプセル化する必要があります。

DAOおよびDTOインターフェースがどのように見えるかの例を次に示します。

interface PersonDTO {
    String getName();
    void setName(String name);
    //.....
}

interface PersonDAO {
    PersonDTO findById(long id);
    void save(PersonDTO person);
    //.....
}

幅のMVC広いパターンです。DTO / DAOは、MVCパターンのモデルになります。
データ取得を担当する部分だけでなく、アプリケーション全体を整理する方法を説明します。

2番目の質問については、小さなアプリケーションの場合はまったく問題ありませんが、MVCパターンに従う場合は、別のクラスのフレームのビジネスロジックを含む別のコントローラーを使用することをお勧めします。イベントハンドラからこのコントローラにメッセージをディスパッチします。
これにより、ビジネスロジックがビューから分離されます。

于 2013-01-16T19:40:44.490 に答える