Object pool
questo è un deposito di oggetti (classi instanziate), quando una classe client ne fa richiesta questa viene richiamata dal pool.
Un Object pool è particolarmente utile quando si parla di Factory Method:
- i client richiedono istanze
- i client dovranno indicare quando l’istanza non è più in uso, quindi riusabile.
L’object bool potrebbe essere unico (Singleton - non ha spiegato cosa è)
Dependecy Injection
Quando una classe prende in input delle classi, e dipende da queste parliamo di dependecy injection. Questa tecnica ci permette di separare la costruzione delle istanze da loro uso
Abstract Factory
Intento
Fornire un’interfaccia per creare famiglie di oggetti che hanno qualche relazione senza specificare le loro classi concrete
Problema
Il sistema complessivo dovrebbe essere indipendente dalle classi usate, così da essere configurabile con una di varie famiglie di classi.
Soluzione

Singleton
Ogni oggetto è un istanza di una classe, e ogni classe ha zero o più istanze. La classe per ciascun oggetto è sempre statica.
Intento
Assicurare che una classe abbia un sola istanza e fornire un punto di accesso globale all’istanza
Motivazione
Alcune classi dovrebbero avere esattamente una istanza, in questi casi ha senso usare il singleton
Soluzione
Per usare il singleton dobbiamo fornire all’interno della classe un metodo GetIstance che ritorna l’unica istanza disponibile per quella classe