Sobes.tech
Middle

Mis on sidusus ja seotus programmeerimises?

sobes.tech AI

Vastus AI-lt

Sõltuvus (Cohesion) on mõõt, kui tihedalt on elemendid modulite sees (klass, funktsioon) seotud. Kõrge sõltuvus tähendab, et modulite elemendid on keskendunud ühe ülesande või kontseptsiooni täitmisele. Hästi kujundatud modulil on kõrge sõltuvus.

Näited sõltuvustasemetest (madalast kõrgeni):

  • Juhuslik (Coincidental): Elemendid on juhuslikult seotud, puudub loogiline seos.
  • Loogiline (Logical): Elemendid täidavad loogiliselt seotud tegevusi, kuid valik tehakse välise koodi poolt.
  • Ajaline (Temporal): Elemendid on seotud sellega, et neid täidetakse samal ajal.
  • Protseduuriline (Procedural): Elemendid järgivad täitmise protseduuri.
  • Kommunikatsiooniline (Communicational): Elemendid töötavad sama andmetega.
  • Järjestikune (Sequential): Ühe elemendi väljund on teise sisend.
  • Funktsionaalne (Functional): Kõik elemendid aitavad täita ühte selgelt määratletud funktsiooni.

Koppamine (Coupling) on mõõt, kui sõltuvad erinevad moodulid. Madal koppamine tähendab, et moodulid on suhteliselt sõltumatud. Sõltumatuse vähendamine muudab süsteemi paindlikumaks, hooldatavamaks ja testitavamaks.

Näited koppamise tasemetest (kõrgest madalani):

  • Sisu (Content): Üks moodul otseselt viitab teise mooduli sisemisele andmetele või rakendusele.
  • Ühine (Common): Moodulid kasutavad ühist globaalse andmeala.
  • Juhtimine (Control): Üks moodul edastab juhtimislipu, mis määrab teise mooduli käitumise.
  • Stamp (Stamp): Sõltumatute andmete edastamine (objektid, struktuurid), kuid moodul kasutab neist ainult osa.
  • Andmed (Data): Lihtsate andmete edastamine parameetritena.
  • Sõnumid (Message): Moodulid vahetavad sõnumeid (näiteks sündmuste, liideste kaudu). See on nõrgim koppamise vorm.

Hea disaini eesmärk on: kõrge sõltuvus (moodulite sees) ja madal koppamine (moodulite vahel).