Erinevus sidestamise ja ühtekuuluvuse vahel

Sidestamine vs ühtekuuluvus

Sidestamine ja ühtekuuluvus on kaks mõistet, mis leitakse Java (ja kõigi teiste objektorienteeritud keelte) puhul. Sidumine mõõdab, kui palju iga programmimoodul sõltub teistest programmimoodulitest. Ühtekuuluvus mõõdab, kui tugevalt on kõik funktsioonid moodulis omavahel seotud. Tegelikult on mis tahes objektorienteeritud keeles (sealhulgas Java) kaks peamist eesmärki - suurendada sidusust ja vähendada samal ajal sidestamist, et töötada välja kõige tõhusamad programmid. Need kaks tarkvaratehnika mõõdikut töötas välja Larry Constantine, et vähendada tarkvara muutmise ja hooldamise kulusid.

Mis on ühtekuuluvus?

Ühtekuuluvus mõõdab, kui tugevalt on kõik funktsioonid programmi moodulis omavahel seotud. Hästi struktureeritud klassid viivad väga sidusate programmideni. Kui teatud klass täidab väga seotud funktsioonide komplekti, siis öeldakse, et see klass on sidus. Teisest küljest, kui klass täidab hunniku täiesti sõltumatuid funktsioone, tähendab see, et klass pole üldse siduv. Oluline on mõista, et sidususe puudumine ei tähenda, et üldrakendusel pole vajalikku funktsionaalsust. Lihtsalt on ilma sidususeta funktsionaalsust väga keeruline hallata, kuna need on hajutatud paljudesse valesse kohta, kuna rakenduse keerukus aja jooksul suureneb. Kogu koodis hajutatud käitumise säilitamine, muutmine ja laiendamine on väga tüütu isegi kõige kogemustega programmeerijatele.

Mis on sidumine?

Sidumine mõõdab, kui palju iga programmimoodul sõltub teistest programmimoodulitest. Kahe objekti vastastikmõjud tekivad sidestamise tõttu. Lahtiselt ühendatud programmid on paindlikud ja laiendatavad. Tugev sidumine pole kunagi hea, sest üks objekt võib olla suuresti sõltuv teisest objektist. Koodi muutmise ajal on see õudusunenägu, kuna kõrge sidumine tähendab, et programmeerijad peavad isegi ühe käitumismuudatuse saamiseks töötama mitmes koodi kohas. Tugev sidumine viib programmideni, mis on madala paindlikkusega ja väiksema skaalautuvuse / laiendatavusega. Programmeerimiskeeltes nagu Java on sidumise täielik vältimine võimatu. Kuid soovitatakse, et programmeerijad annaksid endast parima, et sidumist võimalikult palju vähendada. Võimalik on ka mõni haakeseade, mis aitab objektidel üksteisega suhelda, kahjustamata selle mastaapsust ja paindlikkust.

Mis vahe on sidumisel ja ühtekuuluvusel??

Ehkki sidumine ja sidusus käsitlevad moodulite kvaliteeti tarkvaratehnikas, on need täiesti erinevad mõisted. Ühtekuuluvus räägib sellest, kui palju funktsionaalsused on moodulis omavahel seotud, samas kui sidumine käsitleb seda, kui palju üks moodul sõltub kogu rakenduse teistest programmimoodulitest. Parima kvaliteediga tarkvara saamiseks peaksid ühtekuuluvus ja sidumine jõudma nende spektri kahte otsa. Teisisõnu, lahti ühendamine ja tugev sidusus pakuvad parimat tarkvara. Omades privaatseid välju, mitteavalikke klasse ja privaatseid meetodeid, toimub lahtiühendamine, muutes samal ajal kõik liikmed klassis nähtavaks ja kui vaikimisi nähtavus on pakett, tagab kõrge ühtekuuluvuse.