Razlika med spajanjem in kohezijo

Razlika med spajanjem in kohezijo
Razlika med spajanjem in kohezijo

Video: Razlika med spajanjem in kohezijo

Video: Razlika med spajanjem in kohezijo
Video: Šta je NASA-ina svemirska sonda Junona otkrila o gasovitoj planeti Jupiter? 2024, Julij
Anonim

Spajanje proti koheziji

Spajanje in kohezija sta dva pojma, ki ju najdemo v Javi (in vseh drugih objektno usmerjenih jezikih). Spajanje meri, koliko je vsak programski modul odvisen od drugih programskih modulov. Kohezija meri, kako močno je vsaka od funkcij povezana znotraj modula. Pravzaprav ima vsak objektno usmerjen jezik (vključno z Javo) dva glavna cilja, povečati kohezivnost in hkrati zmanjšati sklopitev, da bi razvili najbolj učinkovite programe. Ti dve metriki programskega inženiringa je razvil Larry Constantine za zmanjšanje stroškov spreminjanja in vzdrževanja programske opreme.

Kaj je kohezija?

Kohezija meri, kako močno je vsaka od funkcij povezana znotraj programskega modula. Dobro strukturirani razredi vodijo do zelo kohezivnih programov. Če določen razred izvaja niz zelo povezanih funkcij, se reče, da je ta razred koheziven. Po drugi strani pa, če razred izvaja kup popolnoma nepovezanih funkcij, to pomeni, da razred sploh ni koheziven. Pomembno je razumeti, da pomanjkanje kohezivnosti ne pomeni, da celotna aplikacija nima potrebne funkcionalnosti. Brez kohezije bo zelo težko upravljati s funkcionalnostjo, ker bodo razpršene na veliko napačnih mestih, saj se kompleksnost aplikacije sčasoma povečuje. Vzdrževanje, spreminjanje in razširitev vedenj, raztresenih po vsej kodi, je zelo dolgočasno tudi za najbolj izkušene programerje.

Kaj je spajanje?

Spajanje meri, koliko je vsak programski modul odvisen od drugih programskih modulov. Interakcije med dvema objektoma nastanejo, ker obstaja sklopitev. Ohlapno povezani programi so zelo prilagodljivi in razširljivi. Močna povezava ni nikoli dobra, ker je en predmet lahko zelo odvisen od drugega predmeta. To je nočna mora, ko je koda spremenjena, ker visoka povezanost pomeni, da morajo programerji delati na več mestih kode celo za eno samo vedenjsko spremembo. Močna povezanost vedno vodi do programov z nizko prilagodljivostjo in manj razširljivosti/razširljivosti. Vendar pa je v programskih jezikih, kot je Java, popolno izogibanje povezovanju nemogoče. Vendar je priporočljivo, da se programerji potrudijo čim bolj zmanjšati sklopko. Možno je tudi nekaj sklopitve, ki pomaga objektom medsebojno delovati, ne da bi ovirala njihovo razširljivost in prilagodljivost.

Kakšna je razlika med spajanjem in kohezijo?

Čeprav se spajanje in kohezija ukvarjata s kakovostjo modula v programskem inženirstvu, sta popolnoma različna pojma. Kohezija govori o tem, koliko so funkcionalnosti med seboj povezane znotraj modula, medtem ko se spajanje ukvarja s tem, koliko je en modul odvisen od drugih programskih modulov znotraj celotne aplikacije. Da bi imeli najboljšo kakovost programske opreme, morata kohezija in spajanje doseči dva nasprotna konca svojih spektrov. Z drugimi besedami, ohlapna povezanost in močna kohezija zagotavljata najboljšo programsko opremo. Zasebna polja, nejavni razredi in zasebne metode zagotavljajo ohlapno povezavo, medtem ko so vsi člani vidni znotraj razreda in imajo paket kot privzeto vidnost zagotavljajo visoko kohezijo.

Priporočena: