"Sono stato bocciato a parecchi esami. Un mio amico invece, li ha passati tutti a pieni voti. Ora è ingegnere e lavora in Microsoft. Io sono il proprietario."  - Bill Gates  •  "Se riesco a fare qualcosa in 10 minuti, è perché ho passato anni a studiarlo."  - Bill Gates  •  "Il vostro lavoro riempirà gran parte della vostra vita, e l'unico modo per essere veramente soddisfatti è fare ciò che ritenete sia un grande lavoro."  - Steve Jobs  •  "Siate affamati. Siate folli."  - Steve Jobs  •  

cinque 

ZERO

{JS} I Design Pattern

home / javascript /

Lucio Asciolla

Full Stack Developer

Indice

Cosa sono i design pattern?

I Design Pattern, modelli, sono un modo di scrivere codice.
Più semplicemente rappresentano delle strutture, di blocchi di codice, suggerite, per poter gestire al meglio determinate "situazioni" di sviluppo.

Sono soluzioni tecniche a problemi di progettazione del software.
Essi rappresentano, modelli progettuali di riferimento, schemi logici di risoluzione, offrendo un modello di riferimento per la realizzazione, gestione, di componenti software e/o situazioni di sviluppo.

Tradizionalmente i Design Pattern vengono raggruppati in categorie per evidenziarne l'obiettivo principale.

Creazionalipatterns per la creazione di classi e oggetti
Strutturalipatterns per la gestire le relazioni tra gli oggetti, per la scalabilità dell'architettura di un'applicazione
Comportamentalipatterns per la comunicazione tra gli oggetti di un'applicazione

Pattern creazionali

Questi tipi di patterns si occupano della creazione di classi e oggetti.
A prima vista può sembrare un problema banale ma in applicazioni complesse può risultare utile controllare il modo in cui vengono creati gli oggetti.

  • Singleton
  • Factory

Pattern strutturali

I patterns strutturali sono utili per gestire le relazioni tra gli oggetti, per rendere scalabile l'architettura di un'applicazione in modo da poter aumentare o diminuire le capacità di un programma.
Utilizzarli previene problematiche derivanti da variazioni successive, in fase di sviluppo, come implementazioni o rimozioni di funzioni in una applicazione.

  • Module
  • Adapter
  • Façade
  • MVC / MVVM

Pattern comportamentali

L'obbiettivo di questi patterns è gestire la comunicazione tra gli oggetti di un'applicazione.

  • Observer

Altri patterns

Quelli sopra elencati sono solo alcuni dei patterns più comuni ed utilizzati.
E' possibile facilmente immaginare l'esistenza di numerosi altri patterns trattandosi sostanzialmente di "code snippet" ovvero di "blocchi/frammenti di codice"; un'altro interessante pattern è il Pattern Promise.

Gang of Four

In sostanza tutti questi Pattern altro non sono che strategie su come scrivere codice ma di fatto al loro interno non troveremo nulla di nuovo per quanto riguarda il linguaggio Javascript.

In ingegneria del Software, il termine Gang of Four ("banda dei quattro"), spesso abbreviato in GoF, è usato per riferirsi agli autori del libro Design Patterns: Elements of Reusable Object-Oriented SoftwareErich GammaRichard HelmRalph Johnson e John Vlissides; libro con cui, gli stessi, hanno messo nero su bianco come loro scrivessero il codice e come lo strutturassero.

La lettura di questo libro è consigliabile per chi vuole meglio comprendere la strategia e il disegno complessivo del software; il libro non vi aiutera' a scrivere il codice, ma a scegliere la strategia da implementare.

Argomenti collegati