The Abstract Factory Pattern is a Creational pattern in which interfaces are defined for creating families of related objects without specifying their actual implementations. When using this pattern, you create factories which return many kinds of related objects. This pattern enables larger architectures such as Dependency Injection.

The Factory Method Pattern is a Creational pattern which defines an interface for creating an object ,but doesn’t specify what objects the individual implementations of that interface will instantiate. All that means is that when using this pattern, you can define certain methods and properties of object that will be common to all objects created using the Factory Method, but let the individual Factory Methods define what specific objects they will instantiate.