Sobes.tech
Middle+

Šta je niska povezanost i visoka kohezivnost (low coupling, high cohesion)?

sobes.tech АИ

Одговор од АИ

Niska povezanost (low coupling) i visoka kohezija (high cohesion) su principi dizajna usmereni ka stvaranju lako održivog, proširivog i testabilnog koda.

Niska povezanost (Low Coupling)

  • Znači da su komponente (klase, moduli) minimalno zavisne jedna od druge. Promene u jednom komponentu imaju minimalan uticaj na druge.
  • Osobine niske povezanosti:
    • Komponente komuniciraju putem jasno definisanih interfejsa.
    • Direktni pristup unutrašnjim detaljima drugih komponenti je minimiziran.
    • Promene u implementaciji jednog komponenta ne zahtevaju promene u drugim.
  • Prednosti:
    • Olakšava testiranje pojedinačnih komponenti.
    • Kod postaje fleksibilniji i lakši za proširenje.
    • Smanjuje rizik od grešaka pri izmenama.

Visoka kohezija (High Cohesion)

  • Znači da su elementi unutar komponenta logički povezani i obavljaju jednu jasno definisanu zadatak. Komponent sa visokom kohezijom je fokusiran na jednu odgovornost.
  • Osobine visoke kohezije:
    • Sve metode klase pripadaju istoj funkcionalnoj oblasti.
    • Klasa ne sadrži nepovezane funkcionalnosti.
    • Logika koja se odnosi na jedan zadatak je koncentrisana na jednom mestu.
  • Prednosti:
    • Kod je razumljiviji i lakši za čitanje.
    • Olakšava lokalizaciju i ispravljanje grešaka.
    • Komponent postaje više ponovo upotrebljiv.

Ukratko, treba težiti niskoj povezanosti između komponenti i visokoj koheziji unutar svake komponente.