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 ...