Кто знает можно ли как то убрать дублирование кода в

такой ситуации:

Имеем C#
Имеем сервисы, которые содержат методы, в каждом из которых может идти работа с несколькими коллекциями
В начале каждого метода создается сессия, using(var session = ...
Внутри блок try ... catch, чтобы коммитить или абортить транзакцию

И таким образом, одинаковый код повторяется в каждом методе.

Как этого можно избежать?

3 ответов

20 просмотров

выносишь using(var session = ... Внутри блок try ... catch, это все в отдельный метод, который принимает функцию - собственно логику внутри транзакции

Easy Rider-Lord Автор вопроса
Артём Жуков
выносишь using(var session = ... Внутри блок try...

ну да, я думал об этом, но делают ли так на практике? нет ли тут какого-нибудь антипаттерна? все-таки, совать постоянно Func это усложняет читаемость

Easy Rider Lord
ну да, я думал об этом, но делают ли так на практи...

каким образом усложняет читаемость, если ты написал просто обертку

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта