What is this factory all about and what are the advantages of using factory patterns? Does it give a plugable architecture? Why it is called \"Factory\"?
It is factory since it is actually "Manufacturing" (Create) an object.
There's actually two kind of factory pattern defined by GoF:
Basically both of them tries to decouple the calling client from knowing the actual concrete implementation of the class/interface.