Size: a a a

2020 January 03

РИ

Роман Игумнов in Laravel UA
Ребята всем привет. Может вопрос не в тему, но задам. Есть код https://codeshare.io/5gj3wB  хочу понять первый принцип SOLID (Single Responsibility Principle)
Можете помочь просто черкануть что лишнее в этом классе и что нужно вынести в отдельный?

Например я вынес создание объекта в отдельный класс в методе public function orderRetailStore($request)
вот таким образом CreateOrder::createOrder($request); Верно ли сделал? Что еще лишнее. Помогите плиз понять
источник

OK

Oleg Khalin in Laravel UA
Роман Игумнов
Ребята всем привет. Может вопрос не в тему, но задам. Есть код https://codeshare.io/5gj3wB  хочу понять первый принцип SOLID (Single Responsibility Principle)
Можете помочь просто черкануть что лишнее в этом классе и что нужно вынести в отдельный?

Например я вынес создание объекта в отдельный класс в методе public function orderRetailStore($request)
вот таким образом CreateOrder::createOrder($request); Верно ли сделал? Что еще лишнее. Помогите плиз понять
Помойму ты пытаешься юзать все не понимая зачем это все. Зачем тебе фабрика для репозитория? Почему репозиторий называется сервисным классом у тебя?
источник

РИ

Роман Игумнов in Laravel UA
Oleg Khalin
Помойму ты пытаешься юзать все не понимая зачем это все. Зачем тебе фабрика для репозитория? Почему репозиторий называется сервисным классом у тебя?
Олег не понимаю... Объясни пожалуйста? Это обычный нормальный сервис класс, фабрика и репозиторий в моем понимание это о другом.
источник

OK

Oleg Khalin in Laravel UA
источник

РИ

Роман Игумнов in Laravel UA
Вопрос как раз о том как верно это все разделить чтобы соблюсти принцип SRP
источник

OK

Oleg Khalin in Laravel UA
Тут ты пытаешься реализовать фабрику
источник

OK

Oleg Khalin in Laravel UA
Твой сервисный класс чисто работает с базой
источник

OK

Oleg Khalin in Laravel UA
Соответственно это ещё абстракция над элоквентом
источник

OK

Oleg Khalin in Laravel UA
То есть репозиторий для элоквента
источник

РИ

Роман Игумнов in Laravel UA
Oleg Khalin
Твой сервисный класс чисто работает с базой
Да так и есть!
источник

РИ

Роман Игумнов in Laravel UA
Oleg Khalin
То есть репозиторий для элоквента
Понимаю
источник

OK

Oleg Khalin in Laravel UA
Роман Игумнов
Да так и есть!
Сервисный класс реализовывает бизнес логику
источник

OK

Oleg Khalin in Laravel UA
В этом есть смысл только в том случае если ты уверен что в будущем откажешься от элоквента
источник

OK

Oleg Khalin in Laravel UA
Но зная о том что ты будешь юзать доктрину и продолжать юзать элоквент - нелогично выходит. То есть по факту ты делаешь лишнюю абстракцию
источник

OK

Oleg Khalin in Laravel UA
Я тоже в свое время таким упоролся, на каком-то портале видел и думал что так и надо, кроме как головной боли ничего не принесло
источник

РИ

Роман Игумнов in Laravel UA
Oleg Khalin
В этом есть смысл только в том случае если ты уверен что в будущем откажешься от элоквента
Т.е выносить создание фабрики имеет только смысл если я в будущем думаю сменить Элоквент?
источник

OK

Oleg Khalin in Laravel UA
Роман Игумнов
Т.е выносить создание фабрики имеет только смысл если я в будущем думаю сменить Элоквент?
Нет, использование репозитория вместе с элоквентом имеет смысл только в том случае если ты думаешь отказаться от элоквента в будущем
источник

РИ

Роман Игумнов in Laravel UA
Oleg Khalin
Я тоже в свое время таким упоролся, на каком-то портале видел и думал что так и надо, кроме как головной боли ничего не принесло
Тогда я запутался вообще.... ))))
источник

OK

Oleg Khalin in Laravel UA
Репозиторий - абстракция над бд
источник

OK

Oleg Khalin in Laravel UA
Элоквент - абстракция над бд
источник