Perbezaan Antara Gandingan dan Keunggulan

Coupling vs Cohesion

Gandingan dan perpaduan adalah dua konsep yang terdapat di Jawa (dan semua bahasa berorientasikan objek yang lain). Gandingan mengukur berapa banyak modul program bergantung kepada modul program yang lain. Keunggulan mengukur seberapa kuat setiap fungsi berkaitan dalam modul. Sebenarnya, mana-mana bahasa berorientasikan objek (termasuk Jawa) mempunyai dua tujuan utama untuk meningkatkan kekompakan dan mengurangkan gandingan pada masa yang sama, untuk mengembangkan program yang paling cekap. Metrik kejuruteraan kedua-dua perisian ini dibangunkan oleh Larry Constantine untuk mengurangkan kos mengubah dan menyelenggara perisian.

Apakah kohesi?

Keunggulan mengukur seberapa kuat setiap fungsi berkaitan dalam modul program. Kelas-kelas yang berstruktur juga membawa kepada program-program yang sangat padat. Jika kelas tertentu menjalankan satu set fungsi yang sangat berkaitan, kelas tersebut dikatakan bersatu padu. Sebaliknya, jika kelas sedang melaksanakan sekumpulan fungsi yang sama sekali tidak berkaitan, bermakna kelas itu tidak bersatu padu sama sekali. Adalah penting untuk memahami bahawa tidak mempunyai kekompakan tidak bermakna bahawa keseluruhan aplikasi tidak mempunyai fungsi yang diperlukan. Hanya dengan itu tanpa perpaduan, ia akan menjadi sangat sukar untuk menggabungkan fungsi kerana mereka akan tersebar di banyak tempat yang salah kerana kerumitan aplikasi meningkat dari masa ke masa. Mengekalkan, mengubahsuai dan memperluaskan tingkah laku yang bertaburan di seluruh kod adalah sangat membosankan walaupun untuk pengaturcara yang paling berpengalaman.

Apakah Gandingan?

Gandingan mengukur berapa banyak modul program bergantung kepada modul program yang lain. Interaksi antara dua objek berlaku kerana terdapat gandingan. Program-program yang digabungkan dengan penuh kelonggaran dan meluas. 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 bermakna bahawa pengaturcara perlu bekerja di beberapa tempat kod untuk pengubahsuaian tingkah laku tunggal. Gandingan kuat sentiasa membawa kepada program yang mempunyai kelenturan rendah dan kurang skalabiliti / diperluas. Walau bagaimanapun, dalam bahasa pengaturcaraan seperti Jawa, sepenuhnya mengelakkan gandingan tidak mungkin. Tetapi adalah disyorkan bahawa para programer memberikan usaha terbaik mereka untuk mengurangkan gandingan sebanyak mungkin. Ia juga mungkin mempunyai beberapa gandingan untuk membantu objek berinteraksi antara satu sama lain tanpa menghalang skalabilitas dan kelenturannya.

Apakah perbezaan antara Gandingan dan Keunggulan?

Walaupun gandingan dan perpaduan berurusan dengan kualiti modul dalam kejuruteraan perisian, mereka adalah konsep yang sama sekali berbeza. Perbincangan kohesi tentang berapa banyak fungsinya berkaitan dengan satu sama lain dalam modul, manakala gandingan memperkatakan sejauh mana satu modul bergantung kepada modul program lain dalam keseluruhan aplikasi. Untuk memiliki perisian yang berkualiti, perpaduan dan gandingan harus mencapai dua hujung bertentangan dengan spektrum mereka. Dalam erti kata lain, kopling longgar dan perpaduan yang kuat menyediakan perisian terbaik. Mempunyai medan persendirian, kelas bukan awam dan kaedah persendirian memberikan gandingan longgar, sambil menjadikan semua ahli dapat dilihat dalam kelas dan mempunyai pakej sebagai penglihatan lalai memberikan kohesi yang tinggi.