Size: a a a

2020 January 28

VS

Victor Sapiens in rust_offtopic
polunin.ai
Кидать эксепшены из конструктора норм идея?
У меня у конструктор сущности передаётся Абсрактный валидатор сущности который ее полнстью в конструкторе валидирует (конечно все поля сразу надо проставить) потом всю коллекцию ошибок бросает как один AggregateException ну и там мини типизированные LesThan(obj maxValue)  IsNull и тд. Это сделано чтобы в принцыпе не существовал в не валидном стостояния сущность. Ну и да, валижаторы из репозиторий валижаторов берутся который инжектиттся в репозиторий конкретной сущности. Яб показал на примере но у меня все реальные под NDA а в своих пет проектах я просто одну большую DomainException(DomainExceptionCode code)  где code это enum
источник

λO

λeonid Onokhov in rust_offtopic
парси а не валидируй. сделай невалидные состояния невозможными.
источник

OA

Oleg Andreev in rust_offtopic
Alexander
sqlite тоже на rust?
упс
источник

OA

Oleg Andreev in rust_offtopic
ну протокольные штуки без завязки на байндинги, так что sqlite можно легко выкинуть
источник

A

Alexander in rust_offtopic
можно взять какую-нибудь pure-rust embedded db
источник

VS

Victor Sapiens in rust_offtopic
λeonid Onokhov
парси а не валидируй. сделай невалидные состояния невозможными.
Хм, невалидное стостояние не возможно только если 1) Валидация в конструкторе 2) Конструктор скрыт и создание только через фабричный метод ну и валидация там же. Я не понял к чему ты это про парси?
источник

λO

λeonid Onokhov in rust_offtopic
Victor Sapiens
Хм, невалидное стостояние не возможно только если 1) Валидация в конструкторе 2) Конструктор скрыт и создание только через фабричный метод ну и валидация там же. Я не понял к чему ты это про парси?
считай что это мем
источник

VS

Victor Sapiens in rust_offtopic
Aikidos
смотря какие
ArgumentNullException, ArgumentOutOfRangeException - да
Хм, а UI то как поймёт? У меня то у ошибок КолСтек затираеттся и Таргет сайт и они так коллекцией в json сеарилизуются.
источник

VS

Victor Sapiens in rust_offtopic
Хотя, если всегда писать - Произошла ошибка. Попробуйте позже или обратитесь к администратору то норм
источник

ШН

Шерзод Немножко Токсик in rust_offtopic
Victor Sapiens
У меня у конструктор сущности передаётся Абсрактный валидатор сущности который ее полнстью в конструкторе валидирует (конечно все поля сразу надо проставить) потом всю коллекцию ошибок бросает как один AggregateException ну и там мини типизированные LesThan(obj maxValue)  IsNull и тд. Это сделано чтобы в принцыпе не существовал в не валидном стостояния сущность. Ну и да, валижаторы из репозиторий валижаторов берутся который инжектиттся в репозиторий конкретной сущности. Яб показал на примере но у меня все реальные под NDA а в своих пет проектах я просто одну большую DomainException(DomainExceptionCode code)  где code это enum
в асп.нет кор мвс видал как сделано? ModelState.IsValid
источник

ШН

Шерзод Немножко Токсик in rust_offtopic
Victor Sapiens
Хотя, если всегда писать - Произошла ошибка. Попробуйте позже или обратитесь к администратору то норм
+ код ошибки
источник

VS

Victor Sapiens in rust_offtopic
Шерзод Немножко Токсик
в асп.нет кор мвс видал как сделано? ModelState.IsValid
Лол, а если твой домен будет как Presentation не Asp.Net core использовать
источник

VS

Victor Sapiens in rust_offtopic
БТВ, вообще конструктор это реализация паттерна фабричный метод по дефолту
источник

VS

Victor Sapiens in rust_offtopic
У тому же явно на сервере формировать текст ошибки это плохой путь.
источник

ШН

Шерзод Немножко Токсик in rust_offtopic
Victor Sapiens
У тому же явно на сервере формировать текст ошибки это плохой путь.
а ты отдай текст и код
источник

VS

Victor Sapiens in rust_offtopic
Шерзод Немножко Токсик
а ты отдай текст и код
Хм, а если на китайском понадобится? Вообще не толко текст и код но и сопутствующие значения нужны а если он есть то и текст не нужен. Например
EntityValidationException: ApplicationException
{
СlassName = “User”
Erros = [
{
Property=“Age”
Code = “GreaterThanMaxValue”
MaxValue = 200
},
...
]
...
}

Бросаешь такую ошибку из конструктора

Ну и на UI ты можешь что угодно написать. Например “Возраст пользователя больше 200 лет»  или « You are too old. Your age > 200”
источник

м

мухожук in rust_offtopic
только не it's, пожалуйста
источник

м

мухожук in rust_offtopic
и не its
источник

VS

Victor Sapiens in rust_offtopic
Да я с английским не дружу. Были несколько Оферов уже свалить за бугор и я до сих пор в России потому что вместо Английского вот Idris учу 😑
источник

p

polunin.ai in rust_offtopic
Victor Sapiens
У меня у конструктор сущности передаётся Абсрактный валидатор сущности который ее полнстью в конструкторе валидирует (конечно все поля сразу надо проставить) потом всю коллекцию ошибок бросает как один AggregateException ну и там мини типизированные LesThan(obj maxValue)  IsNull и тд. Это сделано чтобы в принцыпе не существовал в не валидном стостояния сущность. Ну и да, валижаторы из репозиторий валижаторов берутся который инжектиттся в репозиторий конкретной сущности. Яб показал на примере но у меня все реальные под NDA а в своих пет проектах я просто одну большую DomainException(DomainExceptionCode code)  где code это enum
У меня учебное задание, так извращаться не хочется
источник