in reply to Encapsulation through stringification - a variation on flyweight objects
I happened to re-read the Flyweight pattern a few nights ago, and that description doesn't quite do the pattern justice. People often assume that "flyweight" means "small", since the point of the pattern is to separate intrinsic from extrinsic state such that objects that carry only intrinsic state (i.e., flyweights) can be shared multiple times. A common optimization is to have the flyweight hold an index into an attribute table, but important distinction is that attributes can't refer to state outside of the object itself if that reference would render the flyweight unsharable. Any non-shareable needs to be passed in by the client. A good test for whether you're really doing Flyweight right is to consider whether you can implement individual flyweight objects as singletons.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Encapsulation through stringification - a variation on flyweight objects
by adrianh (Chancellor) on Apr 02, 2003 at 19:08 UTC |