Flyweight

Everyone has already played with a deck of playing cards.
A deck is composed by 54 cards or 32 cards.
Each card is unique and between each party we keep the same cards.
The only rule to respect is don't damage (or modify) the cards.
In the real life 2 parties can't used the same deck in the same time.
But in the development world it's not a problem due to you can.

THIS IS THE FLYWEIGHT DESIGN PATTERN !!!

When you will be in the same situation =
You have a set of defined objects that you use without modify them.

Don't instantiate a new object for each usage, just use flyweight !!!

You will centralize all the different objects in the same place.
It will more easy to find the instance that you need.
Sharing these objects, you will minimize the used memory.