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

Ребят, добрый день. Хотел бы узнать у вас мнение про

то насколько я правильно понял принцип построения методов микросервисов на примере данного метода?

57 ответов

14 просмотров

из душного мне не нравится 1) что ты руками пишешь валидацию 2) зачем-то обернул в try catch 3) Exception e это вообще плохой паттерн

Larymar GC
из душного мне не нравится 1) что ты руками пише...

раз уж такая пьянка, как в таких ситуациях без try catch быть ? Например когда в бдшку стучишься или куда нибудь ещё ?

боба
раз уж такая пьянка, как в таких ситуациях без try...

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

Vazovsk1y- Автор вопроса
Larymar GC
из душного мне не нравится 1) что ты руками пише...

>1 сам пишу блоки if? Какие есть альтернативы? >2 обернул для выявления исключений которые могут возникнуть в случае работы с репой, ибо в ней нет трай и кетч. >3 Имеешь ввиду расширить типы отлавливаемых исключений в catch?

Vazovsk1y
>1 сам пишу блоки if? Какие есть альтернативы? >2 ...

Для начала, если уж ты обернул для выявления исключений репы, то почему у тебя ВЕСЬ КОД в try обернут?

Vazovsk1y
>1 сам пишу блоки if? Какие есть альтернативы? >2 ...

1) FluentValidation к примеру и унести его из бизнеслогики 2) они не должны возникать скорее всего, но тут уж на ваш вкус 3) да

Larymar GC
1) FluentValidation к примеру и унести его из бизн...

Лучше типами разрулить, а не Fluent validator

Vazovsk1y- Автор вопроса

GetAll возвращает nullable?

Larymar GC
1) FluentValidation к примеру и унести его из бизн...

а использовать готовые атрибуты валидации ?

Vazovsk1y- Автор вопроса
Oleg Safonov
GetAll возвращает nullable?

да, если файл не найден на пк у пользователя.

Vazovsk1y- Автор вопроса
Vazovsk1y
json

А почему там getAll и вдруг файл какой то?

Vazovsk1y
тупанул, исправлю.

И главный вопрос: я не понял при чем тут вообще микросервисы

Переменная messageresponse в начале не нужна

Vazovsk1y- Автор вопроса

файл json выступает местом куда я записываю список объектов(типо бд). Для того чтобы брать оттуда данные я сделал репу по аналогии с дбконтекстом в EF.

files.ToList() несколько раз по коду метода

а почему не использована embededdb

Vazovsk1y
файл json выступает местом куда я записываю список...

Вообще немного странно, что null или пустой список рассматривается как fail

Larymar GC
я считаю, что бизнеслогика не должна обрабатывать ...

а если у сервиса к которому мы стучимся нет соеденения, то возникнет експешн, или это тоже как то можно контролировать ?

Vazovsk1y- Автор вопроса
Andrew Shurunov
И главный вопрос: я не понял при чем тут вообще ми...

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

боба
а если у сервиса к которому мы стучимся нет соеден...

это точно не проблема бизнеслогики скорее всего там и должен стрельнуть экспешен, который можно собрать в каком-нибудь глобалхендлере или вообще не собирать

Vazovsk1y- Автор вопроса
Larymar GC
а почему не использована embededdb

спросил еще давно у гпт, подсказал мол использую сериализацию и хранение данных в json. Там данных не много будет храниться.

Vazovsk1y- Автор вопроса
Vazovsk1y- Автор вопроса
Vazovsk1y- Автор вопроса
Vazovsk1y
пересмотрю этот момент.

правда ли, если украли этот json файл, стоит продолжить работу?

Vazovsk1y- Автор вопроса
Vazovsk1y- Автор вопроса
Larymar GC
1) FluentValidation к примеру и унести его из бизн...

а если я допустим создам некий класс Validator, который и буду использовать внутри этих методов, а в нем метод с bool IsValid()?

Vazovsk1y- Автор вопроса

немного подправил реализовав идею с валидатором. Так хоть немного лучше вроде немного разгреб метод и он стал намного меньше? P.s не считая расширенную ловлю исключений - это я добавлю чуть позже.

Vazovsk1y
screenshot немного подправил реализовав идею с валидатором. Т...

Имхо в fail не нужно передавать enumerable empty. И лучше не enumerable возвращать, а что там реально у вас

Vazovsk1y
screenshot немного подправил реализовав идею с валидатором. Т...

Лучше ошибки на русском, чем на кривом английском, кстати)

Vazovsk1y- Автор вопроса
Vazovsk1y
screenshot немного подправил реализовав идею с валидатором. Т...

Если валидатор проверяет null и пустой список и все, то лучше не создавать отдельную сущность, а тут проверить Имхо опять

Vazovsk1y
screenshot немного подправил реализовав идею с валидатором. Т...

Опять таки, почему ты весь метод в catch(Exception) оборачиваешь. Ты не знаешь что там может произойти?

Oleg Safonov
Почему files подчёркивает?

там скорее всего multiple enumerate

Vazovsk1y- Автор вопроса
Oleg Safonov
Короче, давайте по новой )

мы будем строить и реконструировать, а не заниматься мелким ремонтом.

Vazovsk1y- Автор вопроса
Oleg Safonov
А что в response factory?

ответ создает, на основе переданных аргументов.

Vazovsk1y
ответ создает, на основе переданных аргументов.

Ну пусть принимает при succecc лист например, а при ошибке только ошибку

Vazovsk1y- Автор вопроса
Oleg Safonov
Короче, давайте по новой )

ну ниче, кто ж сказал, что все будет получаться.

Vazovsk1y
ну ниче, кто ж сказал, что все будет получаться.

Да мы вроде по доброму так накидываем ) Получаться будет, но не сразу

Vazovsk1y- Автор вопроса
Vazovsk1y- Автор вопроса
Oleg Safonov
Да мы вроде по доброму так накидываем ) Получатьс...

так я и не расстраиваюсь или ною, наоборот, приятно живых людей читать. А то заманался с гпт критику высасывать. Он в основном говорит то, что я хочу услышать, а не то, что нужно.

Vazovsk1y
до конца - нет.

Поясни, чем 200 "Something go wrong" лучше чем 500?

Vazovsk1y- Автор вопроса
Phantom
4) английский

"Английский"

Вместо обработки исключений в try catch в каждом контролере можно добавить в programm встроенное Middleware UseExceptionHandler которая обрабатывает любое исключение глобально в проекте.

Vazovsk1y- Автор вопроса
ded
Вместо обработки исключений в try catch в каждом к...

Это проект WPF, там скорее всего нет того, про что вы говорите, но я понял, что нужно добавить глобальный обработчик, спасибо.

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
49
читать файл максимально быстро? странный вопрос))
zamtmn
53
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
How to create an OS in C? what to study?
Linus
18
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
1
Карта сайта