Flyweight
Flyweight is a term used to describe an object that lacks inherent state. The term “flyweight” implies its lightweight nature. If you’ve been following the content in the preceding chapters, you might already be envisioning a certain type of object that should be lightweight: a data class. However, a data class primarily revolves around maintaining state.
So, can we draw any connections between the data class concept and the Flyweight design pattern?
To gain a deeper comprehension of this design pattern, let’s rewind the clock by about two decades. In 1994, when the original “Design Patterns” book was published, a standard personal computer boasted a mere 4 MB of RAM. During that era, conserving RAM was a paramount objective of any process, given the limited capacity for storage.
Fast forward to today, where even some smartphones now boast an impressive 8 GB of RAM. It’s important to keep this evolution in mind...