powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EntityFramework и паттерн Repository
25 сообщений из 121, страница 3 из 5
EntityFramework и паттерн Repository
    #39714013
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypskyANAВы специально игнорируете упоминание CQRS?
3. Не использовать репозиторий, а использовать CQRS и никакого цементирования в методах сервисного класса.
отнюдь. Просто в CQRS у вас все равно будут вариации на тему зацементированности или репозиториев
А слабо пример привести?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39714182
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lessyp,

не будет зацементированности.

давайте я приведу каноничную реализацию репозитория:

FindById
Add
Update
Delete

всё. а где, спросите, GetAll, GetList, GetQuery....
можно найти массу решений, и даже примеры в статьях, где подобные методы есть.
но это неправильно.

в CQRS, вообще ничего такого нет от слова совсем.
а где, где же вот это вот всё?
ответ: Query Object, можно посмотреть в чужих исходниках вариации на тему QueryProcessor, QueryHandler etc.

если это не CQRS, то может быть добавлен ещё один метод

GetBySpecification

а ещё, не забываем про пейджинг. его нужно закладывать изначально для всех.
да, даже для долбаных справочников, где _НУ_СОВЕРШЕННО_ТОЧНО_НИКОГДА!!__ не будет больше 3-х записей. дичайшие нарушения, за которые надо руки по шею отрывать, начинаются вот с таких тупейших посылов.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39714737
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttне будет зацементированности.

так я и говорю, что будет либо цементирование, либо репозиторий. Все что вы говорите про репозитории уже разложено выше, мы их 4 подвида определили
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39714788
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessyphVosttне будет зацементированности.

так я и говорю, что будет либо цементирование, либо репозиторий
У тебя может и будет, но мы не понимаем, с чего вдруг. Пример приведи уже.

В случае с CQRS ЕF запросы будут инкапсулированны в отдельных классах, а не зацементированы в методах сервисного класса, чего бы это не значило
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39714858
Фотография Arpanx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А куда инкапсулировать запросы которые не относятся к Entity ?

Допустим мне нравиться Repository и я реализовал их с Specification . В процессе написания программы возникают всякие абстрактные сущности типа Себестоимость , чтобы его вычислить нужно перелопатить много разных Entity.
Куда этот запрос можно инкапсулировать? И запросов, их будет много видов, для каждого цеха своя методика расчета, своя портянка SQL.
Как это оформляется? Tянуть Entity в память и на C# писать бизнес-логику или DBcontext получать на слое сервисов?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39714920
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArpanxА куда инкапсулировать запросы которые не относятся к Entity ?

Допустим мне нравиться Repository и я реализовал их с Specification . В процессе написания программы возникают всякие абстрактные сущности типа Себестоимость , чтобы его вычислить нужно перелопатить много разных Entity.
Куда этот запрос можно инкапсулировать? И запросов, их будет много видов, для каждого цеха своя методика расчета, своя портянка SQL.
Как это оформляется? Tянуть Entity в память и на C# писать бизнес-логику или DBcontext получать на слое сервисов?
Ну, они себестоимость не считают
а для "показать картинку, вставить картинку" можно и репозиторий со спесификейшн и CQRS с бубном :)
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715107
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosArpanxА куда инкапсулировать запросы которые не относятся к Entity ?

Допустим мне нравиться Repository и я реализовал их с Specification . В процессе написания программы возникают всякие абстрактные сущности типа Себестоимость , чтобы его вычислить нужно перелопатить много разных Entity.
Куда этот запрос можно инкапсулировать? И запросов, их будет много видов, для каждого цеха своя методика расчета, своя портянка SQL.
Как это оформляется? Tянуть Entity в память и на C# писать бизнес-логику или DBcontext получать на слое сервисов?
Ну, они себестоимость не считают
а для "показать картинку, вставить картинку" можно и репозиторий со спесификейшн и CQRS с бубном :)
Что это не считаем, считаем.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715110
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArpanxА куда инкапсулировать запросы которые не относятся к Entity ?

Допустим мне нравиться Repository и я реализовал их с Specification . В процессе написания программы возникают всякие абстрактные сущности типа Себестоимость , чтобы его вычислить нужно перелопатить много разных Entity.
Куда этот запрос можно инкапсулировать? И запросов, их будет много видов, для каждого цеха своя методика расчета, своя портянка SQL.
Как это оформляется? Tянуть Entity в память и на C# писать бизнес-логику или DBcontext получать на слое сервисов?
Я не пойму, Вы под запросом вызов хранимой процедуры подразумеваете, раз про "на C# писать бизнес-логику" пишете?

С точки зрения CQRS это будет команда, внутри которой вызов хранимой процедуры.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715115
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosа для "показать картинку, вставить картинку" можно и репозиторий со спесификейшн и CQRS с бубном :)
а для "показать какие расчёты в каком сейчас состоянии, добавить задачу на расчёт себестоимости" также можно и репозиторий со спесификейшн и CQRS с бубном :)

Просто головой подумать надо немножко.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715155
Фотография Arpanx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Ну да, я изначально и хотел/подумал "вот CQRS решение моих проблем", потом где-то тут же вычитал, "а спецификации можно комбинировать, а Query нет", думаю ну ладно, пусть будет Repository.
По поводу портянок SQL-кода (на 2500 строк, которые склеиваются на сервере приложения с помощью С# и скармливаются базе через ADO.NET), код который вычисляет какие-то абстрактные данные для отчетов, которые потом не требуют сохранения, думаю да заверну их в query object pattern . Думаю это было от большого ума написано. Нечего бизнес логику в SQL-е писать. Вполне можно разобрать на получение из Repository данных и логику написать на С#, так будет легче, понятней и можно будет тестировать.

Но все равно, есть же ситуации когда надо выполнить какой нибудь комплексный/сложный запрос, который абстрактный и не принадлежит ни к одной Entity, в таких случаях буду разрешать себе использовать DBContext (запросы Read-only), пока так.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715238
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosНу, они себестоимость не считают
а для "показать картинку, вставить картинку" можно и репозиторий со спесификейшн и CQRS с бубном :)

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

Да?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715239
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arpanx,

Ах.. всё в поисках серебряной пилюли.
Эта печаль подстерегает многих, кто думает

вот ща как заиспользую технологию X, и всё у меня будет хорошо
и женщины появятся
и деньги потекут рекой...
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715240
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAС точки зрения CQRS это будет команда, внутри которой вызов хранимой процедуры.

Если +ES, то конечно нет. Никаких хранимых процедур )
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715287
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosНу, они себестоимость не считают
а для "показать картинку, вставить картинку" можно и репозиторий со спесификейшн и CQRS с бубном :)

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

Да?
Мозгов не хватит написать тесты для моих методов (иначе прямо в комитет за нобелевской)
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715328
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAС точки зрения CQRS это будет команда, внутри которой вызов хранимой процедуры.

Если +ES, то конечно нет. Никаких хранимых процедур )
Это да, я просто думал, что у комрада Arpanx проблема как вызвать хранимку.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715331
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArpanxskyANA
Ну да, я изначально и хотел/подумал "вот CQRS решение моих проблем", потом где-то тут же вычитал, "а спецификации можно комбинировать, а Query нет", думаю ну ладно, пусть будет Repository.
По поводу портянок SQL-кода (на 2500 строк, которые склеиваются на сервере приложения с помощью С# и скармливаются базе через ADO.NET), код который вычисляет какие-то абстрактные данные для отчетов, которые потом не требуют сохранения, думаю да заверну их в query object pattern . Думаю это было от большого ума написано. Нечего бизнес логику в SQL-е писать. Вполне можно разобрать на получение из Repository данных и логику написать на С#, так будет легче, понятней и можно будет тестировать.

Но все равно, есть же ситуации когда надо выполнить какой нибудь комплексный/сложный запрос, который абстрактный и не принадлежит ни к одной Entity, в таких случаях буду разрешать себе использовать DBContext (запросы Read-only), пока так.
Может конкретный пример приведёте?
А то ударяетесь с ходу в какие-то пространные рассуждения, из которых не понятно, а в чём конкретно проблема.

SQL код на 2500 строк, который вычисляет какие-то абстрактные данные для отчетов, знаете как можно упростить?
Вычислять эти данные при добавлении, изменении, удалении и сохранять. Потом отчёт строится очень быстро и элементарным запросом.

15 лет назад на первой работе научили
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715333
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arpanxя изначально и хотел/подумал "вот CQRS решение моих проблем", потом где-то тут же вычитал, "а спецификации можно комбинировать, а Query нет", думаю ну ладно, пусть будет Repository
А что нужно комбинировать-то? Какие-нибудь параметры? Дак в CQRS с этим проблем нет.
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715334
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arpanxв таких случаях буду разрешать себе использовать DBContext (запросы Read-only)
А чё не Dapper?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715350
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arpanx,

и может вообще пора задуматься об OLAP?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715457
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМозгов не хватит написать тесты для моих методов (иначе прямо в комитет за нобелевской)

Всё ТАК плохо?
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715689
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

напиши тест на вывод числе фибаноччи, или поиск пути минимальной длина на графе, или суммы/факториала/да че угодно от 1 до n,... :)

Я напишу метод который отработает для твоих тестов, но воще будет ошибочен
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715729
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

напиши тест на вывод числе фибаноччи, или поиск пути минимальной длина на графе, или суммы/факториала/да че угодно от 1 до n,... :)

Я напишу метод который отработает для твоих тестов, но воще будет ошибочен

легко.

поиск пути (при заданном алгориме) - это итерации. вот и проверяем: шаг при заданных входных
с фибоначи не сложнее. есть таблицы. вот и проверяем по ним
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715794
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

напиши тест на вывод числе фибаноччи, или поиск пути минимальной длина на графе, или суммы/факториала/да че угодно от 1 до n,... :)

Я напишу метод который отработает для твоих тестов, но воще будет ошибочен

Алгоритмы твои тогда на чем основаны? Чем докажешь, что они работают? Ну кроме твоего авторитетного слова? )
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715815
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosнапиши тест на вывод числе фибаноччи
В гугле забанили? "fibonacci unit test"
...
Рейтинг: 0 / 0
EntityFramework и паттерн Repository
    #39715839
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRoshVostt,

напиши тест на вывод числе фибаноччи, или поиск пути минимальной длина на графе, или суммы/факториала/да че угодно от 1 до n,... :)

Я напишу метод который отработает для твоих тестов, но воще будет ошибочен

Алгоритмы твои тогда на чем основаны? Чем докажешь, что они работают? Ну кроме твоего авторитетного слова? )
Вощем ты в отличии от гуглистов понимаешь что тесты должны быть СЛОЖНЕЕ чем тестируемые методы?
...
Рейтинг: 0 / 0
25 сообщений из 121, страница 3 из 5
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EntityFramework и паттерн Repository
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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