Впервые услышав о принципе единой ответственности был очень недоволен такой концепцией, потому как в моей голове это означало, что теперь, допустим, на любую операцию с моделью из базы, у которой есть зависимость от другой модели, придётся делать по два отдельных класса, например: класс удаления самой модели и класс удаления связи с зависимой моделью (реализация какая угодно, от формы до репозитория)
Однако, на деле всё оказалось куда удобнее и интереснее: srp это об единой причине для изменения, то есть в один класс можно запихнуть и удаление самой модели, и различные связанные действия, так как все они относятся к одному событию — удалению модели. После этого меня перестала мучить совесть🙃
Добавить комментарий