Un Design Pattern in generale descrive un problema in cui si incorre spesso nell’ambiente di lavoro, e descrive l’idea di base che sta dietro alla soluzione di quel problema, in modo tale che sia possibile riutilizzare sempre questa soluzione, senza dover risolvere il problema nuovamente ogni volta.

I pattern, per il loro scopo, sono spesso l’astrazione di un problema e della sua soluzione in modo tale che sia possibile utilizzarli in molti ambiti e non specificatamente in una sola situazione.
La struttura dei pattern è normalmente sempre la stessa, sono composti da:

  • Un nome: identifica il pattern;
  • Un problema: descrive il problema che quel pattern vuole risolvere;
  • Una soluzione: spiega la soluzione del problema;
  • Le conseguenze: una sezione per comprendere i costi e i benefici di quel pattern e le possibili alternative

Molti pattern esistono già e ci permettono di trovare soluzioni standard, quindi abbondantemente testate, a problemi comuni; qui sotto una lista dei pattern più conosciuti e più utilizzati nell’ambito della programmazione ad oggetti:

I Pattern sono molto potenti, oltre che per trovare soluzioni ai problemi, anche e soprattutto per migliorare il lavoro di squadra all’interno di un gruppo di sviluppatori. Implementare un pattern significa scrivere del codice con una logica standard, molto utilizzata ed ampiamente documentata, inoltre rende molto più semplice la comunicazione tra le persone che, con il solo nome identificativo del pattern, sotto-intendono molte informazioni per risolvere i problemi.

La repository presente a questo link:            https://github.com/LeoMirots/Patterns
contiene il codice sorgente e la documentazione di un progetto d’esempio che implementa alcuni dei patterns sopra citati.