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

А это можно как-нибудь по красивее сделать?

11 ответов

2 просмотра

А ну и несколько кейсов можно объединить если что

енам юзать

в сервисах заводится пропертя Descriptor с типом какого-нибудь энама, который будет характеризовать эти сервисы создаётся фабрика, куда через DI запихивается IEnumerable<IService> всё создание нужного сервиса сводится к его поиску в IEnumerable в фабрике

а потом в кейсе установить в переменную шо за сервис тебе надо и за свичем уже вызвать нужный метод

Можно вот так await (contract.Option switch { “local” => _articlesService.Upda…, “facebook” => _facebookService.Cre… }); Думаю идея понятна

IServiceBase s = null; swich{ case: { s = _facebookService; } } await s.CreateAsync(id)

Убери асинергия и вместо брейк возвращай таску

Я бы вынес на слой бизнес логики этот код. Сейчас в текущей кодовой базе есть понятие некоторого "бизнес контроллера" когда аспнетовый анемичный и используется непосредственно для обработки реквеста, бизнес контроллер уже отвечает за такую обработку сущности и вызов соответствующих сервисов Ещё можешь упрятать в енам (если у тебя строчки с точным соответствием и меняться не будут) - об этом уже сказали От бранчинга тебе скорее всего никуда не деться, разве что играться с ним - это в любом случае либо енам либо стринга Паттернматчинг не подойдёт так как тип там должен быть определен на этапе компиляции

Да switch поменять на if

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Приветствую всех. Хочу начать изучать код для программирования микроконтроллеров и не пойму с чего начать. То ли с Си, то ли с плюсов. Чем языки вообще различаются. С чего мож...
Андрей
7
Карта сайта