0
Відповідь надано

Factory Method pattern

Sergey Pomaraiko 4 роки тому оновлено anonymous 4 роки тому 1

Подскажите, паттерн Factory Method   не противоречит принципу Single Responsibility?

В книге есть такие строки


"Базовый класс фабрики. Заметьте, что "фабрика" — это всего  лишь дополнительная роль для класса. Скорее всего, он уже имеет какую-то бизнес-логику, в которой требуется создание разнообразных продуктов."

Відповідь

Відповідь
Відповідь надано

Здравствуйте, Сергей!

Спасибо за хороший вопрос. В какой-то степени, да, противоречит. В то же время, от разделения может и не быть очень большого выигрыша. Принципы SOLID не являются чем-то высеченным в камне.


Если у вас есть небольшой класс для работы с отчетами, в котором есть фабричный метод, то выделив всю фабричную часть в отдельный класс вы точно сделаете код сложнее, но не факт, что этим будет удобнее пользоваться.

ДОБРЕ, Я ЗАДОВОЛЕНИЙ
Позначка задоволеності від Sergey Pomaraiko 4 роки тому
Відповідь
Відповідь надано

Здравствуйте, Сергей!

Спасибо за хороший вопрос. В какой-то степени, да, противоречит. В то же время, от разделения может и не быть очень большого выигрыша. Принципы SOLID не являются чем-то высеченным в камне.


Если у вас есть небольшой класс для работы с отчетами, в котором есть фабричный метод, то выделив всю фабричную часть в отдельный класс вы точно сделаете код сложнее, но не факт, что этим будет удобнее пользоваться.