Flyweight design pattern in PHP to support sharing of objects when the objects are in large number with details to granularity
of system.
Output
New Flyweight in pool
Inside ConcreteFlyweight::Operation()
Intrinsic State = 101, Extrinsic State = 10
New Flyweight in pool
Inside ConcreteFlyweight::Operation()
Intrinsic State = 102, Extrinsic State = 20
New Flyweight in pool
Inside ConcreteFlyweight::Operation()
Intrinsic State = 103, Extrinsic State = 30
Flyweight from existing pool
Inside ConcreteFlyweight::Operation()
Intrinsic State = 101, Extrinsic State = 50
Inside UnsharedConcreteFlyweight::Operation()
All State = 500, Extrinsic State = 1000
Suresh Kumar Srivastava is founder of online learning site coursegalaxy.com and author of popular books "C In Depth",
"Data Structures Through C In Depth". He has 18+ years experience in industry and worked on architecture and design of
multiple products. This article is from his courses on Design Patterns.