Perbezaan Antara Gandingan dan Keunggulan

Anonim

Gandingan vs perpaduan

Gandingan dan kohesi 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, setiap bahasa yang 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 yang berstruktur juga membawa kepada program yang sangat padu. 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 kesepaduan tidak bermakna bahawa aplikasi keseluruhan tidak mempunyai fungsi yang diperlukan. Ia hanya 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 tersebar di seluruh kod adalah sangat membosankan walaupun untuk pengaturcara yang paling pengalaman.

Apa itu 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 yang kuat sentiasa membawa kepada program-program yang mempunyai kelenturan rendah dan kurang skalabiliti / extensibility. 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 Kohesi?

Walaupun gabungan dan kohesi 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 berapa banyak satu modul bergantung kepada modul program lain dalam keseluruhan aplikasi. Untuk mempunyai perisian berkualiti terbaik, 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 menyediakan gandingan longgar, sambil menjadikan semua ahli kelihatan dalam kelas dan mempunyai pakej sebagai penglihatan lalai memberikan kohesi yang tinggi.