Pattern Flyweight
Far condividere a migliaia di oggetti ciò che hanno in comune, in modo che ciascuno porti con sé solo ciò che lo distingue.
Il pattern divide lo stato di un oggetto in due parti: lo stato intrinseco (mesh, texture e statistiche di un tipo di albero), condiviso e memorizzato una sola volta, e lo stato estrinseco (posizione, scala, salute), che appartiene a ciascuna istanza. Una foresta di diecimila alberi diventa così diecimila piccoli record che puntano agli stessi dati pesanti. Paul Calder e Mark Linton descrissero l'idea nel 1990 per il rendering del testo in InterViews, dove ogni glifo era un oggetto, e la Gang of Four le diede il nome nel 1994.
Nei videogiochi il pattern è così fondamentale che l'hardware se l'è incorporato: il GPU instancing è un flyweight con un buffer di stato estrinseco e una sola draw call.