0
Answered

Factory Method pattern

Sergey Pomaraiko 4 months ago updated by Alexander Shvets 4 months ago 1

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

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


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

Answer

Answer
Answered

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

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


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

GOOD, I'M SATISFIED
Satisfaction mark by Sergey Pomaraiko 4 months ago
Answer
Answered

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

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


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