© Dmitri Nesteruk 2019
Dmitri NesterukDesign Patterns in .NEThttps://doi.org/10.1007/978-1-4842-4366-4_12

12. Flyweight

Dmitri Nesteruk1 
(1)
St. Petersburg, c.St-Peterburg, Russia
 

A Flyweight (also sometimes called a token or a cookie) is a temporary component that acts as a smart reference to something. Typically, Flyweights are used in situations where you have a very large number of very similar objects, and you want to minimize the amount of memory that is dedicated to storing all these values. Let’s take a look at some scenarios where this pattern becomes relevant.

Usernames

Imagine a massively multiplayer online game. I bet you $20 there will be more than one user called John Smith, quite simply because it is a popular name. If we were to store ...

Get Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.