Gandingan vs perpaduan
Gandingan dan perpaduan adalah dua konsep yang terdapat di Jawa (dan semua bahasa berorientasikan objek lain). Gandingan mengukur berapa banyak modul program bergantung pada modul program lain. Perpaduan mengukur seberapa kuat setiap fungsi berkaitan dalam modul. Sebenarnya, mana -mana bahasa berorientasikan objek (termasuk Java) mempunyai dua objektif utama peningkatan kohesif dan mengurangkan gandingan pada masa yang sama, untuk membangunkan program yang paling efisien. Kedua -dua metrik kejuruteraan perisian ini dibangunkan oleh Larry Constantine untuk mengurangkan kos mengubah dan mengekalkan perisian.
Apa itu perpaduan?
Perpaduan mengukur seberapa kuat setiap fungsi berkaitan dalam modul program. Kelas berstruktur yang baik membawa kepada program yang sangat kohesif. Sekiranya kelas tertentu menjalankan satu set fungsi yang sangat berkaitan, kelas itu dikatakan bersatu padu. Sebaliknya, jika kelas melaksanakan sekumpulan fungsi yang sama sekali tidak berkaitan yang bermaksud kelas tidak bersatu padu sama sekali. Penting untuk memahami bahawa tidak mempunyai kesepaduan tidak bermaksud bahawa aplikasi keseluruhan tidak mempunyai fungsi yang diperlukan. Hanya itu tanpa perpaduan, sangat sukar untuk memusnahkan fungsi kerana mereka akan bertaburan di banyak tempat yang salah kerana kerumitan permohonan meningkat dari masa ke masa. Mengekalkan, mengubah dan memperluas tingkah laku yang tersebar di seluruh kod ini sangat membosankan walaupun untuk pengaturcara yang paling banyak pengalaman.
Apa itu gandingan?
Gandingan mengukur berapa banyak modul program bergantung pada modul program lain. Interaksi antara dua objek berlaku kerana terdapat gandingan. Program yang digabungkan dengan longgar adalah fleksibiliti dan kelanjutan yang tinggi. Gandingan kuat tidak pernah baik kerana satu objek boleh sangat bergantung pada beberapa objek lain. Ini adalah mimpi ngeri apabila kod diubahsuai, kerana gandingan tinggi bermaksud bahawa pengaturcara perlu bekerja di beberapa tempat kod untuk pengubahsuaian tingkah laku tunggal. Gandingan yang kuat selalu membawa kepada program dengan fleksibiliti yang rendah dan kurang skalabiliti/lanjutan. Walau bagaimanapun, dalam bahasa pengaturcaraan seperti Java, gandingan yang benar -benar mengelakkan adalah mustahil. Tetapi disarankan agar pengaturcara memberikan usaha terbaik untuk mengurangkan gandingan sebanyak mungkin. Ia juga mungkin mempunyai gandingan untuk membantu objek berinteraksi antara satu sama lain tanpa menghalang skalabiliti dan fleksibiliti.
Apakah perbezaan antara gandingan dan perpaduan?
Walaupun gandingan dan perpaduan berurusan dengan kualiti modul dalam kejuruteraan perisian, mereka adalah konsep yang sama sekali berbeza. COHESION bercakap tentang berapa banyak fungsi yang berkaitan dengan satu sama lain dalam modul, sementara gandingan menangani berapa banyak modul bergantung pada modul program lain dalam keseluruhan aplikasi. Untuk mempunyai perisian berkualiti, perpaduan dan gandingan terbaik harus mencapai dua hujung spektrum mereka. Dengan kata lain, gandingan longgar dan perpaduan yang kuat menyediakan perisian terbaik. Mempunyai bidang persendirian, kelas bukan awam dan kaedah persendirian menyediakan gumpalan longgar, sambil menjadikan semua ahli kelihatan di dalam kelas dan mempunyai pakej sebagai penglihatan lalai memberikan perpaduan yang tinggi.