DTO と DAO の概念と MVC [closed] 質問する

DTO と DAO の概念と MVC [closed] 質問する
  1. DTO と DAO を使用する理由と、いつ使用すべきかを教えてください。データの挿入、編集、削除を行う GUI Java ソフトウェアを開発しています。しかし、DTO/DAO とモデル、ビュー、コントローラー (MVC) 構造を区別するのに苦労しています。これらは似ていますが、Java GUI を介してデータベースを操作する場合はどちらを使用する方がよいでしょうか。

  2. 私が本当に興味を持っていることの 1 つは、View と Controller を 1 つのクラスにまとめることが良い方法であるかどうかです。NetBeans について考えると、GUIFrameクラスを作成して、フレーム上にコンポーネントを追加できますJButton。ボタンをダブルクリックすると、フレーム内にあるメソッド (Controller) に移動actionListenerし、データがユーザー (View) に表示されます。つまり、これらは同じクラスにあります。これは完全にコンセプトに反しているのでしょうか、それともそうではないのでしょうか。

ここ私が話しているのは

ビューとコントローラーを 1 つのクラスに配置するのは悪い習慣でしょうか?

ベストアンサー1

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

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

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

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パターンに従いたい場合はコントローラーを別にした方が良い、これはフレームのビジネス ロジックを別のクラスに含み、イベント ハンドラーからこのコントローラーにメッセージを送信します。
これにより、ビジネス ロジックがビューから分離されます。

おすすめ記事