Size: a a a

Java/Kotlin Web and more

2020 December 08

A

Askold in Java/Kotlin Web and more
Эд
репо имплементит сервис?
Наоборот и если нет то почему, и если да то почему
источник

Э

Эд in Java/Kotlin Web and more
Othernik
то есть,репозиторий часть сервиса? ну это спорный вопрос?
какие есть ещё случаи?
источник

O

Othernik in Java/Kotlin Web and more
источник

Э

Эд in Java/Kotlin Web and more
Askold
Наоборот и если нет то почему, и если да то почему
можно на код взглянуть?
источник

A

Askold in Java/Kotlin Web and more
источник

k

kuzznya in Java/Kotlin Web and more
Ваш подход как минимум совершенно не гибкий и не готов к расширению
То есть если в репозиторий необходимо будет добавить метод, то придется делать его и в сервисе, даже если он там не нужен
Репозитории делятся по сущностям, а не по сервисам
Один репозиторий можно использовать в нескольких сервисах
То есть в вашем случае в какой-то степени еще и нарушается SRP, потому что через сервис проходит не единственная линия изменений
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
в простых CRUD-приложениях сервис действительно частенько просто проксирует все методы к репозиторию. отсюда, вероятно, и непонимание, зачем разделять. в более сложных сервисах бизнес-логика может вызывать 10 методов 5-ти разных репозиториев и еще пару внешних сервисов по HTTP. Тут уж никакого отношения 1 к 1 нет.
источник

A

Askold in Java/Kotlin Web and more
kuzznya
Ваш подход как минимум совершенно не гибкий и не готов к расширению
То есть если в репозиторий необходимо будет добавить метод, то придется делать его и в сервисе, даже если он там не нужен
Репозитории делятся по сущностям, а не по сервисам
Один репозиторий можно использовать в нескольких сервисах
То есть в вашем случае в какой-то степени еще и нарушается SRP, потому что через сервис проходит не единственная линия изменений
Это не мой подход, свой подход и мнение я написал выше, где да по смыслу интерефейс добавляет гибкости
источник

k

kuzznya in Java/Kotlin Web and more
Да, увидел, с ним согласен
источник

A

Askold in Java/Kotlin Web and more
Ruslan Stelmachenko
в простых CRUD-приложениях сервис действительно частенько просто проксирует все методы к репозиторию. отсюда, вероятно, и непонимание, зачем разделять. в более сложных сервисах бизнес-логика может вызывать 10 методов 5-ти разных репозиториев и еще пару внешних сервисов по HTTP. Тут уж никакого отношения 1 к 1 нет.
я видел такой код и в простых и  в сложных приложениях, опять же  мое "понимание", разделять не разделять, мое мнение выше)
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Askold
я видел такой код и в простых и  в сложных приложениях, опять же  мое "понимание", разделять не разделять, мое мнение выше)
его довольно сложно понять. ваши мысли изложены слишком сумбурно.
источник

YG

Yury Golikov in Java/Kotlin Web and more
Askold
я видел такой код и в простых и  в сложных приложениях, опять же  мое "понимание", разделять не разделять, мое мнение выше)
Я тоже нихрена не понял)
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Роман Нагаев
потому что сервис и репозиторий это разные штуки и они выполняют разные функции, а значит могут (и скорее всего будут) иметь разные наборы методов

хотя бывает что это выглядит не так очевидно, иногда например приложение может быть построено так что единственная работа сервиса это вызов репозитория и возврат результата, тогда стоит задуматься а нужен ли тебе слой сервиса в этом месте
Нужен, в любом случае
источник

A

Askold in Java/Kotlin Web and more
))))) Все просто, в классическом нашем понимании UserRepo  -> UserService -> UserServiceImpl
источник

A

Askold in Java/Kotlin Web and more
это качественнее
источник

A

Askold in Java/Kotlin Web and more
чем без UserService
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
что означает "->"?
источник

A

Askold in Java/Kotlin Web and more
Yury Golikov
Я тоже нихрена не понял)
кто как
источник

YG

Yury Golikov in Java/Kotlin Web and more
Alexandr Emelyanov
Нужен, в любом случае
Это вы из тех кто на каждый класс создаёт по интерфейсу?)
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Эд
дом - сервис. Писуар - репозиторий. Писуар в доме. Репозиторий заинжекчен в сервис. Что не так?

Я чисто на это отреагировал:
> Почему бы классу сервису напрямую не имплементировать интерфейсы репозитории...?))
Достойно Безухова
источник