У чому різниця між патерн фабрикою та фабричним методом?

Наприкінці можна побачити, що Фабричний метод використав абстрактний клас з нереалізованим методом, який реалізовувався у субкласах, а Абстрактна фабрика використовувала інтерфейс, де реалізація (у нашому випадку створення ченця) відбувалася в класах, що імплементували цей інтерфейс.

Навіщо потрібен фабричний метод?

Фабричний метод дозволяє класу делегувати створення підкласів. Використовується, коли: заздалегідь невідомо класу, об'єкти яких підкласів йому потрібно створювати. клас спроектований так, щоб об'єкти, що він створює, специфікувалися підкласами.