Sobes.tech
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.