Разница между абстрактной фабрикой и фабричным методом заключается в следующем:
- Абстрактная фабрика предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов. tproger.ru ru.wikipedia.org Этот паттерн помогает создавать продукты, принадлежащие к одному семейству, через общий интерфейс, скрывая детали реализации. {8-host}
- Фабричный метод определяет интерфейс для создания объекта, но позволяет подклассам выбрать класс создаваемого экземпляра. javarush.com Иными словами, данный шаблон делегирует создание объектов наследникам родительского класса. tproger.ru Это позволяет использовать в коде программы не конкретные классы, а манипулировать абстрактными объектами на более высоком уровне. {6-host}
Таким образом, абстрактная фабрика производит группы продуктов, а фабричный метод — одиночный конкретный тип продукта. {7-host}