The GoF design patterns book defines Factory design pattern as follows - 'Define an interface for creating an object, but let sub-classes decide which class to instantiate. Factory method lets a class defer instantiation to sub-classes.'