Architettura pulita

L'architettura pulita è una filosofia di progettazione del software che separa gli elementi di un progetto in livelli di anello. Un obiettivo importante dell'architettura pulita è fornire agli sviluppatori un modo per organizzare il codice in modo tale da incapsulare la logica aziendale ma mantenerlo separato dal meccanismo di consegna. 

La regola principale di un'architettura pulita è che le dipendenze del codice possono spostarsi solo dai livelli esterni verso l'interno. Il codice sugli strati interni non può avere alcuna conoscenza delle funzioni sugli strati esterni. Le variabili, le funzioni e le classi (qualsiasi entità) che esistono negli strati esterni non possono essere menzionate nei livelli più interni. Si raccomanda che anche i formati dei dati rimangano separati tra i livelli.

L'architettura pulita è stata creata da Robert C. Martin e promossa sul suo blog, Uncle Bob. Come altre filosofie di progettazione del software, l'architettura pulita tenta di fornire una metodologia conveniente che renda più facile lo sviluppo di codice di qualità che funzionerà meglio, è più facile da modificare e ha meno dipendenze.

Visivamente, i livelli di architettura pulita sono organizzati in un numero imprecisato di anelli. I livelli esterni degli anelli sono meccanismi di livello inferiore e i livelli interni e superiori contengono politiche ed entità.

Ecco un esempio di come gli anelli possono essere utilizzati per mappare le dipendenze.

Architettura pulita