Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
In a class library like the Java class libraries it may be hard to be sure about examples of the AbstractFactory pattern.