The two pattern seems to achieve the same thing. What are the different use cases in real world? Thanks
They are two entirely different "pattern Types". Singleton is a "CREATION" pattern. Creation patterns are higher order common "Object creation" methodologies. On the other hand, Flyweight is a "Structural pattern". Structural patterns have to do more with interfaces and implementation rather than "object creation". Another easier way to describe the differences is the the first pattern type "Creation patterns" are more noun based. The second "Structural pattern" types are more verb based.