Мотивация для простого фабричного и фабричного метода

Я знаю, что есть много вопросов о различиях в различных фабричных моделях, но ответы настолько разные и запутанные. Книги, которые я читаю, используют неясные и (пере) упрощенные примеры. У меня есть ряд вопросов, даже после прочтения объяснений в Википедии, и множество онлайн-объяснений о них, включая все на этом сайте. Книга, которую яВ настоящее время я читаю Head First Design Patterns.

В Simple Factory клиент использует отдельный класс (Creator) с фабричным методом (который МОЖЕТ быть статическим) для возврата Products.

В Factory Method Pattern Создатель и Клиент - это одно и то же, и они используют абстрактный метод в одном и том же классе для создания новых Продуктов, над которыми они работают в том же классе. Конечно, Создатель (или Клиент) абстрактны, поэтому решение о создании Конкретного продукта откладывается до подклассов.

Верно ли мое понимание (например, клиент и создатель в FMP - это одно и то же, я никогда не вижу клиента в диаграмме FMP)?

В Factory Method Pattern показывается, что метод create нельзя использовать повторно за пределами Создателя, поэтому его можно использовать только при создании нового Создателя?

В каких ситуациях я могу выбрать один над другим?

(П.С. Пожалуйста, неотметьте это как дубликат, я хочу прояснить это на этом сайте)

Ответы на вопрос(6)

Ваш ответ на вопрос