Flyweight pattern
I see the importance of using a pool of distincted objects,
it saves time and space (by not creating instances identical to existing objects).
What I miss here, is the difference between this pattern and maintaining
a std::map.
Please correct me if I'm wrong, but whenever the client of the Flyweight
class has to save the extrinsic state, then for each usage of a Flyweight
(that is shared from the pool) there still stands an object that keeps
the extrinsic state,
which means the pattern seperates the intrinsic (into some structure as map) - but the quantity of objects is decreased only if the extrinsic state
can be computed (but not saved).
**** **** **** **** **/**