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.