Size: a a a

2021 December 04

NR

Nikita Reshetnik in DotNetRuChat
"библиотекa функциональных расширений для C#", можете кинуть рандомную инфу по этому поводу, ибо при гугле получаю методы расширения, что я так понял не совсем то
источник

АШ

Алексей Шокарев... in DotNetRuChat
В моем понимании использовать атрибуты для валидации модели это зло. Не проверял, но подозреваю что там будет на полную задействована рефлексия со всеми вытекающими оттуда тормозами
источник

NR

Nikita Reshetnik in DotNetRuChat
источник

NR

Nikita Reshetnik in DotNetRuChat
Принял, спасибо!)
источник

АШ

Алексей Шокарев... in DotNetRuChat
Вот такая либа CSharpFunctionalExtensions
источник

АШ

Алексей Шокарев... in DotNetRuChat
источник

NR

Nikita Reshetnik in DotNetRuChat
👍
источник

АШ

Алексей Шокарев... in DotNetRuChat
Там если кратко основная идея в том что вы составляете флоу обработки запроса. в вашем примере это будет например: валидация - конвертация полученной модели - получение данных из базы - обработка данных - запись данных в базу - конвертация результата. т. е. сервис будет состоять из: return Validation().Map(ConvertIn).Bind(LoadData).Bind(Process).Bind(SaveData).Bind(ConvertOut). А вся логика в этих методах. И если на любом этапе вы получаете ошибку то возвращаете Result.Failure и дальнейшие методы выполняться не будут, а ваша ошибка вернется в контроллер.
источник

a

andrey in DotNetRuChat
Подскажите где посмотреть исходы c# для работы с com портом, я только начинаю)))
источник

OS

Oleg Safonov in DotNetRuChat
Во что stacktrace превращается там?)
источник

АШ

Алексей Шокарев... in DotNetRuChat
Нормально там все со stacktrace. extension методы хорошо заметны и не мешают пониманию что произошло
источник

OS

Oleg Safonov in DotNetRuChat
А условный метод process, доверяет входным данным, что все что пришло было проверено?
источник

NR

Nikita Reshetnik in DotNetRuChat
Прикольная штука, но прям нужно привыкнуть и хорошо разобраться
источник

АШ

Алексей Шокарев... in DotNetRuChat
Ну если мы ранее добавили валидацию то да. Если была ошибка с моделью, то этот метод не будет выполняться уже, так как выполнение флоу прекратиться на методе Validation()
источник

OS

Oleg Safonov in DotNetRuChat
Ну, собственно, ИМХО, лучше гарантировать валидацию типизацией, типа на вход принять данные, провалидировать и сразу переложить в новую сущность, которая гарантированно проверена. А так достаточно хрупко. Хотя зависит от домена, наверное, и от принятых подходов
источник

АШ

Алексей Шокарев... in DotNetRuChat
Я тоже не сразу разобрался. Там непростой конструктор к чему что можно присоединить. Но неправильно не соединишь сразу красным подсвечивает. Но описание методов расширений пришлось не раз смотреть. Теперь уже на автомате нужные ставлю.
источник

NR

Nikita Reshetnik in DotNetRuChat
Но мне чет кажется вне пет проджей такое не часто юзают, или не?
источник

АШ

Алексей Шокарев... in DotNetRuChat
Ну так там после валидации конвертер же стоит во внутреннюю модель ConvertIn
источник

OS

Oleg Safonov in DotNetRuChat
схлопнуть бы их (валидация и конвертацию) :)
источник

АШ

Алексей Шокарев... in DotNetRuChat
У нас на рабочем проекте почти все сервисы с использованием FE написаны. В прошлом месяце последний крупный сервис под FE отрефакторили, так как он стал трудночитаемым из-за сложности.
источник