Flyweight pattern is useful when the program needs a huge amount of objects. It provides means to decrease resource usage by sharing object instances. In this example AlchemistShop has great amount of potions on its shelves. To fill the shelves AlchemistShop uses PotionFactory (which represents the
source not stored for this graph (policy: none)
nothing calls this directly
no outgoing calls
no test coverage detected