3. Conclusion
Factory Method relies on inheritance: object creation is
delegated to subclasses which implement the factory method
to create objects. Abstract Factory relies on object
composition: object creation is implemented in methods
exposed in the factory interface. All factory patterns
promote loose coupling by reducing the dependency of your
application on concrete classes. The intent of Factory
Method is to allow a class to defer instantiation to its
subclasses. The intent of Abstract Factory is to create
families of related objects without having to depend on their
concrete classes.