Middle
Cos'è la connettività?
sobes.tech AI
Risposta dell'AI
La coesione (accoppiamento) è una misura della dipendenza tra moduli o componenti di un programma.
- Alta coesione: Le modifiche in un modulo richiedono modifiche in un altro. Rende più difficile la manutenzione, i test e il riutilizzo.
- Bassa coesione: I moduli sono relativamente indipendenti. Le modifiche in un modulo influenzano minimamente gli altri. Favorisce la flessibilità, la modularità e facilita i test.
Esempi di tipi di coesione (dal migliore al peggiore):
- Coesione per dati (Data coupling): I moduli scambiano dati tramite parametri di funzione. Ideale.
- Coesione per timbri (Stamp coupling): Un modulo passa una struttura di dati a un altro, ma il ricevente utilizza solo una parte di questa struttura. Meno flessibile.
- Coesione di controllo (Control coupling): Un modulo passa un flag o un comando che determina il comportamento di un altro modulo. Complica la comprensione del flusso.
- Coesione per dati comuni (Common coupling): I moduli usano una stessa variabile globale o area di memoria condivisa. Molto pericoloso, difficile tracciare le modifiche.
- Coesione per contenuto (Content coupling): Un modulo accede direttamente agli interni di un altro modulo (ad esempio, variabili locali). Il peggiore, viola completamente l'incapsulamento.
L'obiettivo è puntare a una bassa coesione per creare un codice più manutenibile e flessibile.