powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Repository & Service
25 сообщений из 133, страница 2 из 6
Repository & Service
    #39185472
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GСервис - это бизнес логика. Все предельно ясно. Но как доходит до практики начинают возникать вопросы.
Как пример: выше я показал репозиторий и сервис. Но то, что написано в репозитории выглядит как бизнес логика, а то, что написано в сервисе выглядит как излишнее...

Я бы не сказал, что сервис -- это бизнес-логика. Сервис, это сервис. Бизнес-логика, это код, который непосредственно решает задачи бизнеса, а именно: комплексные операции обработки и сохранения данных, включая проверку доступа, валидацию, операционные эффекты, генерацию сообщений, вычисления, и прочее... Т.е. всё то, для чего приложение разрабатывается.

Часто бизнес-логику размазывают, особенно по контроллерам, из-за непонимания где такую логику разместить. Сервисы -- это классы, предоставляющие определённые услуги.

Например, сервис данных обеспечивает прикладной код необходимыми данными. Сервис доставки сообщений обеспечивает эту доставку и всё что прилагается. И т.д.

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

Ну а к твоему вопросу, на самом деле ответить нельзя, пока не будет условия задачи. Если приложение представляет собой сохранялку-показывалку данных, то вся логика уместится в дата-сервисах с методами Дай() и Положи() грубо говоря.

В целом, из инфраструктуры презентации (контроллер, презентер, вью...) необходимо выкашивать всю бизнес-логику по максимуму. А как ты это будешь делать зависит целиком и полностью от задач. Нет какой-то универсальной архитектуры и правильного разбиения по слоям.

При прототипировании, например, вполне уместно работать прям с DbContext-ом, и прям в контроллерах. Но в серьёзных проектах умные адекватные дядьки, конечно, так делать никогда не будут
...
Рейтинг: 0 / 0
Repository & Service
    #39185489
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

во каша в башке :)
сервис, бизнес логика :)
сервис - это просто сервис, услуга, которую оказывает сервер, прислуга
бизнес- логика - это просто логика взаимодействия клиентов(тоже могут быть сервисами) и сервисов для достижения целей внесистемных клиентов
главное найти первого внесистемного клиента если ты сервис, дальше сама пойдет :)
...
Рейтинг: 0 / 0
Repository & Service
    #39185514
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GЗачем вообще слой Service?Service - это совокупность репозиториев.
...
Рейтинг: 0 / 0
Repository & Service
    #39185527
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил КантАлексей Ккачестве репозитория выступает DbContext

заблуждение, я считаю. это не репо, это ниже: ISession, DbContext, IDbConnection, просто сохранение в файлы...Я бы тоже так считал. Но в определении написано именно то, что там написано. Я подхожу в данном случае чисто с формальной точки зрения, проклятый LINQ-2-SQL, и EF в частности, разрушил всю концепцию репозитариев.
...
Рейтинг: 0 / 0
Repository & Service
    #39185530
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИммануил Кантпропущено...


заблуждение, я считаю. это не репо, это ниже: ISession, DbContext, IDbConnection, просто сохранение в файлы...Я бы тоже так считал.И кстати нет, естественно, что имелся ввиду класс-потомок от DbContext, содержащий схему конкретной БД. А это уже прикладной код, в отличии от IDbConnection, ISession и т. п.
...
Рейтинг: 0 / 0
Repository & Service
    #39185533
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...

И какое покрытие у таких тестов? И сколько по времени они выполняются?

Алексей путает интеграционные тесты с модульными. Смею предположить, что из-за отсутствия опыта в тестировании .Местные авторитеты собрались, посовещались и вынесли решение? Браво!
...
Рейтинг: 0 / 0
Repository & Service
    #39185552
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

во каша в башке :)
сервис, бизнес логика :)
сервис - это просто сервис, услуга, которую оказывает сервер, прислуга
бизнес- логика - это просто логика взаимодействия клиентов(тоже могут быть сервисами) и сервисов для достижения целей внесистемных клиентов
главное найти первого внесистемного клиента если ты сервис, дальше сама пойдет :)

Какая каша? Объясни тогда по-другому, потому что я пока не понял из твоих слов что есть что.
...
Рейтинг: 0 / 0
Repository & Service
    #39185553
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМестные авторитеты собрались, посовещались и вынесли решение? Браво!

Не путай решение с выводами
...
Рейтинг: 0 / 0
Repository & Service
    #39185554
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КEF в частности, разрушил всю концепцию репозитариев

С какого он его разрушил? Репозиторий -- абстракция над способом хранения данных, EF это ORM к SQL базе данных (до 7 версии), это ни разу не абстракция и ни разу не репозиторий, а скорее его реализация.

Мда.....
...
Рейтинг: 0 / 0
Repository & Service
    #39185560
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt... это ни разу не абстракция и ни разу не репозиторий, а скорее его реализация. ViPRos прав, у тебя каша в голове.
...
Рейтинг: 0 / 0
Repository & Service
    #39185564
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVostt... это ни разу не абстракция и ни разу не репозиторий, а скорее его реализация. ViPRos прав, у тебя каша в голове.

Аргументируй.
...
Рейтинг: 0 / 0
Repository & Service
    #39185568
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИммануил Кантпропущено...


заблуждение, я считаю. это не репо, это ниже: ISession, DbContext, IDbConnection, просто сохранение в файлы...Я бы тоже так считал. Но в определении написано именно то, что там написано. Я подхожу в данном случае чисто с формальной точки зрения, проклятый LINQ-2-SQL, и EF в частности, разрушил всю концепцию репозитариев.
А теперь расскажи, где разрушили?

Это ORM от слова Mapping. А теперь перечитай описание шаблона репозиторий и найди, где mapping там.
...
Рейтинг: 0 / 0
Repository & Service
    #39185576
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...

И какое покрытие у таких тестов? И сколько по времени они выполняются?

Алексей путает интеграционные тесты с модульными. Смею предположить, что из-за отсутствия опыта в тестировании.
С чего ты взял, что путает?

Скорее он просто не пишет модульные тесты. И наверняка считает, что им в проекте этого не надо :)
...
Рейтинг: 0 / 0
Repository & Service
    #39185579
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ наверняка считает, что им в проекте этого не надо :)Тебе-то виднее, что мне в проекте надо, да?
...
Рейтинг: 0 / 0
Repository & Service
    #39185585
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАртем GСервис - это бизнес логика. Все предельно ясно. Но как доходит до практики начинают возникать вопросы.
Как пример: выше я показал репозиторий и сервис. Но то, что написано в репозитории выглядит как бизнес логика, а то, что написано в сервисе выглядит как излишнее...
Я бы не сказал, что сервис -- это бизнес-логика.
...
Бизнес-логика, это и есть совокупность всех различных сервисов.
ИМХО часть бизнес-логики - это тоже бизнес-логика. :)

Да, можно нарисовать граф, части которого обвести большими кругами... Но давайте быть проще.
...
Рейтинг: 0 / 0
Repository & Service
    #39185588
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAИ наверняка считает, что им в проекте этого не надо :)Тебе-то виднее, что мне в проекте надо, да?
Ну не будь таким Толстым занудой :) Ты же понял, что это предположение, а не утверждение, основанное на предыдущем с тобой общении.
...
Рейтинг: 0 / 0
Repository & Service
    #39185590
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GskyANAСервис - это бизнес-логика .

Это как если бы Вы что-то делали, делали, проверяли, сверяли, получили результат (вот это сервис)... и на листочек записали (вот это репозиторий).

Просто многие пихают первое в контроллеры, а потом задаются вопросом: а чем у нас сервисы от репозиториев-то отличаются? :)

Сервис - это бизнес логика. Все предельно ясно. Но как доходит до практики начинают возникать вопросы.
Как пример: выше я показал репозиторий и сервис. Но то, что написано в репозитории выглядит как бизнес логика, а то, что написано в сервисе выглядит как излишнее...

Я начал писать проект и хоть для меня "не понятно" в чем суть сервиса, но решил не отклоняться от рекомендаций.
Потому как отклонения череваты ))) ...
А каков функционал проекта (основной)? Неужели искать первую попавшуюся блокированную или нет категорию?
...
Рейтинг: 0 / 0
Repository & Service
    #39185591
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Тебе-то виднее, что мне в проекте надо, да?
Ну не будь таким Толстым занудой :) Ты же понял, что это предположение, а не утверждение, основанное на предыдущем с тобой общении."Я в своих проектах не применяю модульные тесты, поэтому я не умею их использовать" - странное предположение и не в первый раз.

Я просто не мог молча пройти мимо и не прокомментировать это. :-)
...
Рейтинг: 0 / 0
Repository & Service
    #39185594
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...

Ну не будь таким Толстым занудой :) Ты же понял, что это предположение, а не утверждение, основанное на предыдущем с тобой общении."Я в своих проектах не применяю модульные тесты, поэтому я не умею их использовать" - странное предположение и не в первый раз.

Я просто не мог молча пройти мимо и не прокомментировать это. :-)
А к чему ты цитируешь то, что я не писал и не думал даже писать? Мнительный? :)
...
Рейтинг: 0 / 0
Repository & Service
    #39185596
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИМХО часть бизнес-логики - это тоже бизнес-логика. :)

Я к тому, что некоторые считают, что сервис-классы это и есть бизнес-логика. В некоторых проектах, видел, такие классы и вовсе называют типа SomeLogic, что в общем-то неплохо, гораздо лучше, чем логика в презентационной инфраструктуре.


skyANAДа, можно нарисовать граф, части которого обвести большими кругами... Но давайте быть проще.

Ну проще и понятнее было бы логику обособлять в отдельном модуле (или в модулях), для многократного использования в различном применении.
...
Рейтинг: 0 / 0
Repository & Service
    #39185605
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, как обзывать классы, инкапсулирующие бизнес-логику, и в какие модули выносить - это отдельный вопрос.

Давай вернёмся к ТС: "Зачем вообще слой Service? Такое ощущение что вместо сервиса можно использовать сразу репозиторий в клиенте".
...
Рейтинг: 0 / 0
Repository & Service
    #39185607
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНу проще и понятнее было бы логику обособлять в отдельном модуле (или в модулях), для многократного использования в различном применении.Браво! Нобелевскую!

Ты первый, кто до этого додумался!
...
Рейтинг: 0 / 0
Repository & Service
    #39185608
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
"Я в своих проектах не применяю модульные тесты, поэтому я не умею их использовать" - странное предположение и не в первый раз.

Я просто не мог молча пройти мимо и не прокомментировать это. :-)
А к чему ты цитируешь то, что я не писал и не думал даже писать? Мнительный? :)Я тебе сообщаю, как я тебя понял, и всего-то.
...
Рейтинг: 0 / 0
Repository & Service
    #39185612
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...

А к чему ты цитируешь то, что я не писал и не думал даже писать? Мнительный? :)Я тебе сообщаю, как я тебя понял, и всего-то.
А мне любопытно, почему ты понял меня не правильно, приписал мне левые выводы :)
...
Рейтинг: 0 / 0
Repository & Service
    #39185619
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Я тебе сообщаю, как я тебя понял, и всего-то.
А мне любопытно, почему ты понял меня не правильно, приписал мне левые выводы :)Мне надоело упражняться в красноречии, я лучше пойду. Удачи!
...
Рейтинг: 0 / 0
25 сообщений из 133, страница 2 из 6
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Repository & Service
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]