Преимущества фабричного метода по сравнению с другими порождающими паттернами:
- позволяет сделать код создания объектов более универсальным, не привязываясь к конкретным классам, а оперируя лишь общим интерфейсом; ru.wikipedia.org
- позволяет установить связь между параллельными иерархиями классов. ru.wikipedia.org
Недостатки фабричного метода:
- необходимость создавать наследника Creator для каждого нового типа продукта; ru.wikipedia.org
- комбинаторный рост количества почти ничего не выполняющих подклассов, если изменений класса продукта много. www.bestprog.net
По сравнению с другими порождающими паттернами, например Abstract Factory, Builder и Prototype, у фабричного метода есть свои особенности:
- Abstract Factory имеет преимущество перед фабричным методом, когда иерархия классов уже существует и её не нужно создавать. www.bestprog.net
- Builder позволяет создавать продукт в соответствии с заданной последовательностью шагов. www.bestprog.net
- Prototype уменьшает количество подклассов, так как для него достаточно реализовать только метод Clone(). www.bestprog.net
Выбор между этими паттернами зависит от конкретных задач и требований к разработке.