Как призовет методология python, Мы все здесь взрослые .. Вы можете создать шаблон фабричного класса. А вы должны?
Чтобы ответить на этот вопрос, вы должны учитывать, что парадигма Фабрики была разработана для обработки таких объектов, как автомобиль и автомобильный завод.
Вы получаете BMW с завода BMW. Когда он нуждается в обслуживании, вы возвращаете его на завод BMW. Фабрика будет обрабатывать модификации и исправления.
Если вы поедете на заводе Mercedes, BMW не будет вам очень доволен. Потому что они разработали свою машину, чтобы быть быстрой и безопасной. Мерседес просто хочет, чтобы это было безопасно. Поэтому они сократили ваш двигатель и сняли обвес. И теперь BMW уже не понимает, как починить машину, если она сломается. Так что фабрика BMW больше не работает.
Лучше иметь список из нескольких разных заводов, чем иметь один завод для списка из нескольких разных автомобилей.
Что может ослабить давление на искажение этого класса, тем не менее, это объединить фабричный шаблон с шаблоном посетителя или даже шаблоном декоратора. Или оба. Это позволит вам добавить ответственность к вашим классам, не меняя их.
Вы даже можете использовать шаблон «посетитель / декоратор» на фабриках.