I design pattern in Java sono soluzioni riutilizzabili a problemi ricorrenti nella progettazione del software orientato agli oggetti. Non sono codice pronto all’uso, ma modelli concettuali applicabili a diversi contesti.


CATEGORIE PRINCIPALI

Creational patterns

Gestiscono la creazione degli oggetti.

  • Singleton : Garantisce un’unica istanza di una classe.
  • Factory Method : Delega la creazione degli oggetti alle sottoclassi.
  • Abstract Factory : Crea famiglie di oggetti correlati.
  • Builder : Costruisce oggetti complessi passo dopo passo.
  • Prototype : Crea nuovi oggetti clonando istanze esistenti.

Structural patterns

Gestiscono la composizione delle classi e degli oggetti.

  • Adapter : Rende compatibili interfacce diverse.
  • Decorator : Aggiunge dinamicamente nuove funzionalità.
  • Facade : Fornisce un’interfaccia semplificata a un sistema complesso.
  • Composite : Tratta oggetti singoli e composizioni in modo uniforme.
  • Proxy : Controlla l’accesso a un oggetto.

Behavioral patterns

Gestiscono la comunicazione e il comportamento tra oggetti.

  • Observer : Notifica i cambiamenti di stato agli osservatori.
  • Strategy : Incapsula algoritmi intercambiabili.
  • Command : Incapsula una richiesta come oggetto.
  • State : Cambia il comportamento in base allo stato interno.
  • Template Method : Definisce lo scheletro di un algoritmo.