What is the difference between Builder Pattern and Flyweight Pattern in terms of usage, as both of them deals with large number of objects?
The Builder pattern is used to create many objects, whereby the Flyweight pattern is about sharing such a collection of objects.
These two patterns both deal with "composites", i.e. objects that may have several elements, but they don't need to be used together at all. The archetype use case for Flyweight is where a pool of a few dozen characters objects are used over and over in a text editor application (this is the example given in the "GoF" book)