Mengapa metode pengakses dari spesifikasi JavaBean menjadi standar untuk pengembangan Java?

9

The JavaBeans Keterangan menggambarkan JavaBean sebagai

Java Bean adalah komponen perangkat lunak yang dapat digunakan kembali yang dapat dimanipulasi secara visual dalam alat pembangun

Karena sebagian besar baris kode yang ditulis tampaknya tidak ada hubungannya dengan dimanipulasi secara visual dalam alat pembangun, mengapa spesifikasi JavaBean menjadi "cara" untuk menulis kode berorientasi objek?

Saya ingin melupakan pengambil / penyetel tradisional yang mendukung Fluent Interfaces di seluruh kode, tidak hanya pada pembangun tetapi takut melakukannya karena ini secara tradisional bukan cara cara kode berorientasi objek ditulis di Jawa.

Dakotah Utara
sumber
Karena dapat dimanipulasi secara visual dalam alat pembangun? Hanya menebak. Tentu saja, tidak ada yang mencegah Anda menggunakan Antarmuka Fasih di mana pun, jika Anda menginginkannya. Cawan pengalaman akan menampar kepala Anda jika itu ternyata ide yang buruk.
Robert Harvey

Jawaban:

7

Accessors gaya JavaBean telah terbukti cocok untuk semua jenis skenario yang mirip dengan skenario "alat pembangun" asli dalam satu titik inti: komponen sedang diedarkan dan dimanipulasi oleh wadah umum dan alat serta kode aplikasi. Di server aplikasi Anda memiliki komponen layanan yang mana EJB atau wadah Musim Semi menambahkan transaksi dan suntikan ketergantungan, model domain persisten yang mana ORM menambahkan pemuatan yang malas dan deteksi perubahan, dan yang dapat diserialisasi ke XML oleh perpustakaan tanpa kode khusus.

Accessor menyediakan API umum yang sangat fleksibel dalam bagaimana komponen dapat digunakan - itu tidak melarang perintah operasi. Setiap panggilan accessor adalah independen dari yang lain dan mereka semua mengikuti pola yang sama, sehingga Anda dapat dengan mudah menambahkan lapisan generik yang menambahkan fungsionalitas tanpa mengganggu pola penggunaan yang dimaksud.

Sebaliknya, antarmuka yang lancar sering dirancang untuk penggunaan satu-shot: objek dibuat, rantai metode disebut yang berakhir dengan metode yang menghasilkan hasil akhir, dan objek kemudian ditinggalkan. Ada fleksibilitas yang jauh lebih sedikit (kebanyakan dalam metode yang opsional) dan umum, tetapi ini justru keuntungan: antarmuka memaksa Anda ke dalam pola penggunaan yang dimaksudkan, membuatnya sangat mudah digunakan.

Jadi JavaBeans dan antarmuka yang lancar memiliki kelebihan dalam skenario yang berbeda, dan yang harus Anda gunakan tergantung. Dan Anda bahkan bisa menggabungkan keduanya.

Michael Borgwardt
sumber
3

Ya, karena Spesifikasi JavaBeans yang Anda tautkan ke mendefinisikan konvensi untuk mengakses properti, orang-orang memutuskan untuk mengambil keuntungan dari konvensi dan membangun kerangka kerja di sekitarnya. Beberapa kerangka kerja ini, seperti Hibernate, cukup bermanfaat dan menjadi sangat populer. Jadi, karena orang menggunakan kerangka kerja yang didasarkan pada spesifikasi JavaBeans, javaBeans menjadi lebih dan lebih ada di mana-mana, dan semakin banyak kerangka kerja yang dibangun di sekitarnya.

Fluent Interfaces adalah ide bagus, tetapi apakah mereka bermain baik dengan Spring atau Struts 2? Mengalahkan saya.

Matthew Flynn
sumber