170 похожих чатов

27 ответов

22 просмотра

нужен сервис по идеи и в нем уже репозиторий . controller->service->repository

Зачем поверх Ef репа?

Vazovsk1y
Зачем поверх Ef репа?

как минимум что бы не дергать saveChange каждый раз

Aleksandr Kiselev
как минимум что бы не дергать saveChange каждый ра...

Я уже совсем запутался) Так может репа сохранять данные или нет сама, т.е вызывать saveChanges? По идее вызывать сохраниени должен именно сервис, т.е репой ты что-то добавил, удалил, обновил, а изменения комитит сервис.

Vazovsk1y
Я уже совсем запутался) Так может репа сохранять д...

Велик шанс забыть вызвать коммит проще сделать так если несколько вызовов репы то просто в транзакцию обернуьт внутри сервиса

Дмитрий Алексеев
А вы не путаете коммиты и сейвченджес?

Возможно слово просто не то использовал, я имел ввиду именно сейвченджес.

Vazovsk1y
Возможно слово просто не то использовал, я имел вв...

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

Aleksandr Kiselev
нужен сервис по идеи и в нем уже репозиторий . con...

Между сервисом и репозиторием по хорошему бы использовать паттерн UnityOfWork

Иван
Между сервисом и репозиторием по хорошему бы испол...

Забудьте об этих паттернах уже. Единственное, где они могут иметь место - это старый говнокод. Это даже не прошлый век, это прошлое тысячелетие.

Kirill
Забудьте об этих паттернах уже. Единственное, где ...

Зря вы так, паттерны примененные там где нужно часто выручают. Другое дело это впихивание паттернов ради впихивания а не ради пользы.. Это в последнее время процветает прям

Дмитрий Алексеев
Зря вы так, паттерны примененные там где нужно час...

Вырвали из контекста. Я конкретно об UoW/Repository, называя их "этими".

Kirill
Забудьте об этих паттернах уже. Единственное, где ...

Ну а если dapper используется на проекте, а не ef?

Vlad Pan
Ну а если dapper используется на проекте, а не ef?

Пользуйтесь атомарными абстракциями. Или попробуйте Vertical Slice.

Иван
А разве UnityOfWork это не про атомарность?

Unit* Нет, он больше про инкапсуляцию

Kirill
Unit* Нет, он больше про инкапсуляцию

Но все равно он про атомарность) Даже если больше про инкапсуляцию

Kirill
Ммм, это как?

Позвольте я сошлюсь на эту статью, конкретнее в раздел "Шаблоны проектирования для сохраняемости данных". Перевод так себе, лучше наверное читать в оригинале https://learn.microsoft.com/ru-ru/ef/ef6/fundamentals/testing/testability-article#design-patterns-for-data-persistence

Иван
Позвольте я сошлюсь на эту статью, конкретнее в ра...

Позвольте тогда перефразировать, раз уж термин 'atomic/atomicity' слишком тесно связан с РБД. Упрощая: имелось в виду, что можно вместо Repo использовать другой набор абстракций - эдакий Object Per Query подход.

Я хотел было на него сослаться, но язык не повернулся

Kirill
Я хотел было на него сослаться, но язык не поверну...

Имхо для CRUD-операций CQS избыточен. Но сами по себе подобные подходы отлично проявляют себя. Полностью согласен.

Иван
Имхо для CRUD-операций CQS избыточен. Но сами по с...

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

Kirill
CRUD - это единичный юзкейс. Не припомню ни одного...

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

Kirill
CRUD - это единичный юзкейс. Не припомню ни одного...

В крупных проектах обычно в нашей сфере как минимум (в других может быть иначе) КРУДЫ занимают 80 а то и более процентов проекта. Просто для информации, и да ессно не только они есть, но чтобы тяжелая логика могла работать кто то должен в крудах данные навносить )))

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта