1) Mengapa kita menggunakan DTO
dan DAO
, dan kapan kita harus menggunakannya. Saya sedang mengembangkan GUI
perangkat lunak Java yang harus dilakukan dengan memasukkan, mengedit, menghapus data. Tapi saya berjuang untuk membedakan antara DTO/DAO
dan Model
, View
, Controller
(MVC) Struktur? Apakah mereka serupa, yang lebih baik digunakan ketika berinteraksi dengan database melalui Java GUI
.
2) Satu hal yang saya sangat ingin tahu adalah apakah itu praktik yang baik untuk dimiliki view
dan Controller
dalam satu kelas. Jika kita pikirkan Netbeans
, Anda dapat membuat GUI
Kelas Bingkai dan menambahkan komponen seperti JButton
ke dalam bingkai, mengklik dua kali tombol akan membawa Anda ke actionListener
metode (Pengendali) yang tampaknya berada dalam bingkai data yang akan ditampilkan kepada pengguna (Lihat) . Jadi mereka berada di kelas yang sama. Apakah itu benar-benar bertentangan dengan konsep itu atau tidak?
Inilah yang saya bicarakan
praktik buruk untuk memiliki tampilan dan pengontrol dalam satu kelas?
Jawaban:
DTO
adalah singkatan untuk Data Transfer Object , sehingga digunakan untuk mentransfer data antara kelas dan modul aplikasi Anda.DTO
seharusnya hanya berisi bidang pribadi untuk data, getter, setter, dan konstruktor Anda.DTO
tidak disarankan untuk menambahkan metode logika bisnis ke kelas tersebut, tetapi tidak masalah untuk menambahkan beberapa metode util.DAO
adalah singkatan untuk Data Access Object , sehingga harus merangkum logika untuk mengambil, menyimpan, dan memperbarui data dalam penyimpanan data Anda (database, sistem file, apa pun).Berikut adalah contoh tampilan antarmuka DAO dan DTO:
Ini
MVC
adalah pola yang lebih luas. DTO / DAO akan menjadi model Anda dalam pola MVC.Ini memberi tahu Anda bagaimana mengatur seluruh aplikasi, bukan hanya bagian yang bertanggung jawab untuk pengambilan data.
Adapun pertanyaan kedua, jika Anda memiliki aplikasi kecil itu benar-benar OK, namun, jika Anda ingin mengikuti pola MVC akan lebih baik untuk memiliki pengontrol terpisah , yang akan berisi logika bisnis untuk frame Anda di kelas yang terpisah dan kirim pesan ke pengontrol ini dari penangan acara.
Ini akan memisahkan logika bisnis Anda dari tampilan.
sumber