1)DTO
とDAO
を使用する理由と、それらをいつ使用する必要があるか。データの挿入、編集、削除を行うGUI
Javaソフトウェアを開発しています。しかし、私はDTO/DAO
とModel
、View
、Controller
(MVC)構造を区別するのに苦労していますか? Java GUI
を介してデータベースとやり取りする場合に使用する方が似ています。
2)1つのクラスにview
とController
を含めるのが良い習慣かどうか、私が本当に興味を持っていることの1つです。 Netbeans
について考える場合、GUI
フレームクラスを作成し、JButton
などのコンポーネントをフレームに追加します。ボタンをダブルクリックすると、データが表示されるフレームにあるactionListener
メソッド(Controller)に移動します。ユーザー(表示)。したがって、彼らは同じクラスにいます。それはその概念に完全に反するのか、そうでないのか?
ここ は私が話していることです
ビューとコントローラーを1つのクラスに含めるのは悪い習慣ですか?
DTO
はData Transfer Objectの略語であるため、アプリケーションのクラスとモジュール間でデータを転送するために使用されます。
DTO
には、データ、ゲッター、セッター、およびコンストラクターのプライベートフィールドのみを含める必要があります。DTO
は推奨されませんが、utilメソッドを追加することは問題ありません。DAO
はData Access Objectの略語であるため、データストレージ(データベース、ファイルシステムなど)のデータを取得、保存、更新するためのロジックをカプセル化する必要があります。
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パターンに従う場合は個別のコントローラーを使用する方がよいであり、ビジネスロジックが含まれます別のクラスのフレームに対して、イベントハンドラーからこのコントローラーにメッセージをディスパッチします。
これにより、ビジネスロジックがビューから分離されます。