Clean Architecture
  • Clean Architecture
  • Che cosa si intende per struttura e architettura
  • Due diversi oggetti di valore
  • Panoramica sui paradigmi
  • La programmazione strutturata
  • La programmazione ad oggetti
  • La programmazione funzionale
  • Principi di progettazione
  • Il principio SRP (Single Responsibility Principle)
  • Il principio OCP (Open-Closed Principle)
  • Il principio LSP (Liskov Substitution Principle)
  • Il principio ISP (Interface Segregation Principle)
  • Il principio DIP (Dependency Inversion Principle)
  • I componenti
  • Coesione dei componenti
  • Accoppiamento dei componenti
  • Che cos'è l'architettura?
  • Indipendenza
  • Delimitazioni: tracciare una linea
  • Anatomia di una delimitazione
  • Politiche e livelli
  • Regole operative
  • Architettura "da urlo"
  • Architettura clean
  • Presenter e Humble Objects
  • Delimitazioni parziali
  • Livelli e delimitazioni
  • Servizi: grandi e piccoli
  • Delimitazione di test
  • Il database è un dettaglio
  • Il Web è un dettaglio
  • I framework sono un dettaglio
  • Caso di studio: vendita di video
  • Manca ancora qualcosa...
Powered by GitBook
On this page

Was this helpful?

Principi di progettazione

PreviousLa programmazione funzionaleNextIl principio SRP (Single Responsibility Principle)

Last updated 5 years ago

Was this helpful?

In questa parte del libro affronteremo i famosi principi e le implicazioni che essi hanno in termini di architettura software. I principi SOLID ci dicono come disporre le nostre funzioni e le nostre strutture nelle classi e come queste classi dovrebbero essere interconnesse (per termine "classe" qui si intende un semplice raggruppamento di funzioni e dati. I principi SOLID si dovrebbero applicare a prescindere se si tratta di programmazione ad oggetti). L'obiettivo di questi principi è quello di avere un software:

  • Facile da modificare

  • Facile da comprendere

  • Facile da riutilizzare

L'acrostico SOLID viene utilizzato per descrivere questi cinque principi:

  • SRP (Single Responsibility Principle): La struttura di un software è fortemente influenzata dalla struttura dell'organizzazione che la impiega, in modo che ogni modulo software abbia un solo motivo per cambiare.

  • OCP (Open-Closed Principle): Affinchè i sistemi siano facili da modificare, essi devono essere progettati in modo tale da permettere la modifica del comportamento aggiungendo del nuovo codice, invece di modificare il codice esistente.

  • LSP (Liskov Substitution Principle): Affinchè le parti di un software siano intercambiabili, queste parti devono aderire ad un "contratto", che consenta a queste parti di essere sostituite l'una con l'altra.

  • ISP (Interface Segregation Principle): Questo principio esorta a evitare di dipendere da cose che poi non si usano.

  • DIP (Dependency Inversion Principle): Il codice di alto livello non dovrebbe dipendere dal codice che implementa i dettagli di basso livello.

SOLID