Kytkennän ja koheesion välinen ero

Kytkennän ja koheesion välinen ero
Kytkennän ja koheesion välinen ero

Video: Kytkennän ja koheesion välinen ero

Video: Kytkennän ja koheesion välinen ero
Video: Selaushistorian, evästeiden ja välimuistin tyhjennys Edge-selaimessa 2024, Heinäkuu
Anonim

Kytkeminen vs koheesio

Kytkeminen ja koheesio ovat kaksi käsitettä, jotka löytyvät Javasta (ja kaikista muista oliokielistä). Kytkentä mittaa, kuinka paljon kukin ohjelmamoduuli on riippuvainen muista ohjelmamoduuleista. Koheesio mittaa, kuinka vahvasti kukin toiminto liittyy moduulin sisällä. Itse asiassa millä tahansa oliopohjaisella kielellä (mukaan lukien Java) on kaksi päätavoitetta: koheesion lisääminen ja kytkennän vähentäminen samanaikaisesti tehokkaimpien ohjelmien kehittämiseksi. Larry Constantine on kehittänyt nämä kaksi ohjelmistosuunnittelumetriikkaa vähentääkseen ohjelmiston muokkaamisen ja ylläpidon kustannuksia.

Mitä on koheesio?

Koheesio mittaa, kuinka vahvasti kukin toiminto liittyy ohjelmamoduuliin. Hyvin jäsennellyt tunnit johtavat erittäin yhtenäisiin ohjelmiin. Jos tietty luokka suorittaa joukkoa hyvin toisiinsa liittyviä toimintoja, luokan sanotaan olevan koheesio. Toisa alta, jos luokka suorittaa joukon täysin toisiinsa liittymättömiä toimintoja, se tarkoittaa, että luokka ei ole lainkaan yhtenäinen. On tärkeää ymmärtää, että yhtenäisyyden puuttuminen ei tarkoita, etteikö koko sovelluksella olisi vaadittuja toimintoja. Ilman koheesiota on vain erittäin vaikeaa hallita toimintoja, koska ne ovat hajallaan monissa väärissä paikoissa sovelluksen monimutkaisuuden kasvaessa ajan myötä. Koodissa hajallaan olevien käyttäytymismallien ylläpitäminen, muokkaaminen ja laajentaminen on erittäin työlästä jopa kokeneimmille ohjelmoijille.

Mikä on kytkentä?

Kytkeminen mittaa, kuinka paljon kukin ohjelmamoduuli on riippuvainen muista ohjelmamoduuleista. Vuorovaikutuksia kahden kohteen välillä tapahtuu, koska on olemassa kytkentä. Löysästi kytketyt ohjelmat ovat joustavia ja laajennettavia. Vahva kytkentä ei ole koskaan hyvä, koska yksi kohde voi olla erittäin riippuvainen jostakin toisesta kohteesta. Tämä on painajainen, kun koodia muokataan, koska korkea kytkentä tarkoittaa, että ohjelmoijien on työskenneltävä useissa koodipaikoissa jopa yhden käyttäytymisen muutoksen vuoksi. Vahva kytkentä johtaa aina ohjelmiin, joilla on alhainen joustavuus ja vähemmän skaalautuvuutta/laajennettavuutta. Ohjelmointikielissä, kuten Java, kytkennän välttäminen on kuitenkin mahdotonta. Mutta on suositeltavaa, että ohjelmoijat tekevät parhaansa vähentääkseen kytkentää niin paljon kuin mahdollista. On myös mahdollista saada jokin kytkentä, joka auttaa esineitä olemaan vuorovaikutuksessa toistensa kanssa heikentämättä sen skaalautuvuutta ja joustavuutta.

Mitä eroa on kytkimen ja koheesion välillä?

Vaikka kytkentä ja koheesio käsittelevät ohjelmistosuunnittelun moduulin laatua, ne ovat täysin eri käsitteitä. Koheesio puhuu siitä, kuinka paljon toiminnot liittyvät toisiinsa moduulin sisällä, kun taas kytkentä käsittelee sitä, kuinka paljon yksi moduuli on riippuvainen muista ohjelmamoduuleista koko sovelluksessa. Jotta ohjelmisto olisi paras laatu, koheesion ja kytkennän tulisi saavuttaa spektrien kaksi vastakkaista päätä. Toisin sanoen löysä kytkentä ja vahva koheesio tarjoavat parhaan ohjelmiston. Yksityiset kentät, ei-julkiset luokat ja yksityiset menetelmät tarjoavat löysää kytkentää, kun taas kaikki jäsenet näkyvät luokassa ja paketin oletusnäkyvyys takaavat korkean koheesion.

Suositeltava: