[Name] Abstract factory [In Design Patterns] Yes [In Code Complete[15]] Yes [Other] N/A [Description] 
Provide an interface for creating families of related or dependent objects without specifying their concrete classes.