Gandingan lwn Kesepaduan
Gandingan dan kohesi ialah dua konsep yang terdapat dalam Java (dan semua bahasa berorientasikan objek lain). Gandingan mengukur berapa banyak setiap modul program bergantung kepada modul program lain. Kesepaduan mengukur sejauh mana kuat setiap fungsi berkaitan dalam modul. Sebenarnya, mana-mana bahasa berorientasikan objek (termasuk Java) mempunyai dua objektif utama untuk meningkatkan kesepaduan dan mengurangkan gandingan pada masa yang sama, untuk membangunkan program yang paling cekap. Kedua-dua metrik kejuruteraan perisian ini dibangunkan oleh Larry Constantine untuk mengurangkan kos mengubah suai dan menyelenggara perisian.
Apakah Kesepaduan?
Kohesi mengukur sejauh mana kuat setiap fungsi berkaitan dalam modul program. Kelas yang tersusun dengan baik membawa kepada program yang sangat padat. Jika kelas tertentu melaksanakan satu set fungsi yang sangat berkaitan, kelas itu dikatakan kohesif. Sebaliknya, jika kelas melaksanakan sekumpulan fungsi yang sama sekali tidak berkaitan, bermakna kelas itu tidak padu sama sekali. Adalah penting untuk memahami bahawa tidak mempunyai kepaduan tidak bermakna keseluruhan aplikasi tidak mempunyai fungsi yang diperlukan. Cuma tanpa perpaduan, ia akan menjadi sangat sukar untuk menguruskan fungsi kerana ia akan tersebar di banyak tempat yang salah apabila kerumitan aplikasi meningkat dari semasa ke semasa. Mengekalkan, mengubah suai dan melanjutkan tingkah laku yang tersebar di seluruh kod adalah sangat membosankan walaupun untuk pengaturcara yang paling berpengalaman.
Apakah itu Gandingan?
Gandingan mengukur berapa banyak setiap modul program bergantung pada modul program yang lain. Interaksi antara dua objek berlaku kerana terdapat gandingan. Program yang digandingkan secara longgar mempunyai fleksibiliti dan kebolehlanjutan yang tinggi. Gandingan yang kuat tidak pernah baik kerana satu objek boleh sangat bergantung pada beberapa objek lain. Ini adalah mimpi ngeri apabila kod diubah suai, kerana gandingan tinggi bermakna pengaturcara perlu bekerja pada beberapa tempat kod untuk walaupun satu pengubahsuaian tingkah laku. Gandingan yang kukuh sentiasa membawa kepada program dengan kelenturan yang rendah dan kebolehskalaan/kelanjutan yang kurang. Walau bagaimanapun, dalam bahasa pengaturcaraan seperti Java, mengelakkan gandingan sepenuhnya adalah mustahil. Tetapi adalah disyorkan bahawa pengaturcara memberikan usaha terbaik mereka untuk mengurangkan gandingan sebanyak mungkin. Anda juga boleh mempunyai beberapa gandingan untuk membantu objek berinteraksi antara satu sama lain tanpa menghalang kebolehskalaan dan fleksibilitinya.
Apakah perbezaan antara Gandingan dan Kesepaduan?
Walaupun gandingan dan kohesi berkaitan dengan kualiti modul dalam kejuruteraan perisian, ia adalah konsep yang berbeza sama sekali. Cohesion bercakap tentang sejauh mana fungsi berkaitan antara satu sama lain dalam modul, manakala gandingan memperkatakan berapa banyak satu modul bergantung pada modul program lain dalam keseluruhan aplikasi. Untuk mendapatkan perisian berkualiti terbaik, kohesi dan gandingan harus mencapai dua hujung bertentangan spektrum mereka. Dalam erti kata lain, gandingan longgar dan perpaduan yang kukuh menyediakan perisian terbaik. Mempunyai medan peribadi, kelas bukan awam dan kaedah persendirian menyediakan gandingan yang longgar, sambil menjadikan semua ahli kelihatan dalam kelas dan mempunyai pakej sebagai keterlihatan lalai memberikan perpaduan yang tinggi.