Первое, что нужно понять на 100%, - это то, что не существует единого «фабричного образца». Термин Factory описывает категорию шаблонов с сильно отличающимися реализациями. Когда кто-то говорит Фабричный шаблон , он может говорить о любом творческом паттерне; но чаще всего фраза Фабричный шаблон указывает на незнание шаблонов дизайна.
Два очень специфических c Фабричных паттерна опубликованы в известной книге «Банды четырех»: Абстрактная Фабрика и Фабрика Метод .
Stati c Factory был популяризирован Джошуа Блохом в Effective Java. Существует нет взаимосвязи между стати c фабричным методом Блоха и фабричным методом GoF, за исключением того, что они имеют схожие имена.
Затем я уточню исходный вопрос, чтобы дать четкий ответ.
Запрещено ли использовать методы stati c в шаблоне GoF Factory Method?
Да. Шаблон GoF требует наследования, которое не поддерживается static
методами. Это не делает шаблон Stati c Factory менее полезным! Stati c Factory - это совершенно законный шаблон проектирования, который реализован совершенно иначе, чем шаблон GoF Factory Method. При необходимости вы можете использовать оба шаблона; и теперь вы можете пометить их соответствующим образом.