Erinevus sidumise ja ühtekuuluvuse vahel

Erinevus sidumise ja ühtekuuluvuse vahel
Erinevus sidumise ja ühtekuuluvuse vahel

Video: Erinevus sidumise ja ühtekuuluvuse vahel

Video: Erinevus sidumise ja ühtekuuluvuse vahel
Video: БУДУ ГОТОВИТЬ пока ДЕТИ НЕ ВЫРАСТУТ! Вкуснее ТОРТА! ВКУСНОТА за 5 МИНУТ из Нашего ДЕТСТВА! 2024, November
Anonim

Side vs ühtekuuluvus

Sidestamine ja ühtekuuluvus on Javas (ja kõigis teistes objektorienteeritud keeltes) leiduvad kaks mõistet. Sidumine mõõdab, kui palju iga programmi moodul on teistest programmimoodulitest sõltuv. Ühtekuuluvus mõõdab, kui tugev alt on kõik funktsioonid moodulis seotud. Tegelikult on igal objektorienteeritud keelel (sealhulgas Java) kaks peamist eesmärki: suurendada sidusust ja vähendada sidemeid, et töötada välja kõige tõhusamad programmid. Need kaks tarkvaratehnoloogia mõõdikut töötas välja Larry Constantine, et vähendada tarkvara muutmise ja hooldamise kulusid.

Mis on ühtekuuluvus?

Ühtekuuluvus mõõdab, kui tugev alt on kõik funktsioonid programmimoodulis seotud. Hästi üles ehitatud klassid viivad väga ühtsete programmideni. Kui teatud klass täidab omavahel väga seotud funktsioone, peetakse seda klassi sidusaks. Teisest küljest, kui klass täidab hunnikut täiesti sõltumatuid funktsioone, tähendab see, et klass ei ole üldse sidus. Oluline on mõista, et sidususe puudumine ei tähenda, et kogu rakendusel pole nõutavat funktsionaalsust. Lihts alt ilma sidususeta on funktsionaalsust väga raske hallata, kuna need on paljudesse valedesse kohtadesse laiali, kuna rakenduse keerukus aja jooksul suureneb. Koodis hajutatud käitumisviiside säilitamine, muutmine ja laiendamine on väga tüütu isegi kõige kogenumate programmeerijate jaoks.

Mis on sidumine?

Sidestamine mõõdab, kui palju iga programmimoodul on teistest programmimoodulitest sõltuv. Kahe objekti vahelised vastasmõjud tekivad sidestamise tõttu. Lõdv alt seotud programmid on väga paindlikud ja laiendatavad. Tugev sidumine pole kunagi hea, sest üks objekt võib mõnest teisest objektist väga sõltuda. See on õudusunenägu, kui koodi muudetakse, sest kõrge sidestus tähendab, et programmeerijad peavad töötama mitme koodi kohaga isegi ühe käitumise muutmise jaoks. Tugev sidumine viib alati madala paindlikkuse ja väiksema mastaapsuse/laiendatavusega programmideni. Programmeerimiskeeltes nagu Java on aga sidumise täielik vältimine võimatu. Kuid on soovitatav, et programmeerijad annaksid endast parima, et sidumist võimalikult palju vähendada. Võimalik on ka side, mis aitab objektidel üksteisega suhelda, ilma et see piiraks selle mastaapsust ja paindlikkust.

Mis vahe on sidumisel ja ühtekuuluvusel?

Kuigi sidumine ja sidusus käsitlevad tarkvaratehnika mooduli kvaliteeti, on need täiesti erinevad mõisted. Ühtekuuluvus räägib sellest, kui palju funktsionaalsused on moodulis üksteisega seotud, samas kui sidumine käsitleb seda, kui palju üks moodul kogu rakenduses teistest programmimoodulitest sõltub. Parima kvaliteediga tarkvara saamiseks peaksid ühtekuuluvus ja sidumine jõudma oma spektri kahte vastandlikku otsa. Teisisõnu, lahtine sidumine ja tugev sidusus pakuvad parimat tarkvara. Privaatväljad, mitteavalikud klassid ja privaatmeetodid tagavad lõdva sidumise, samas muudavad kõik liikmed klassis nähtavaks ja paketi vaikenähtavus tagab suure sidususe.

Soovitan: