The GoF design patterns book defines Abstract factory design pattern as follows - 'provide an interface for creating families of related or dependent objects without specifying their concrete classes.'