Size: a a a

Software Design/Architecture/Zen

2021 May 23

SP

Sergey Protko in Software Design/Architecture/Zen
Он не плох, просто та же проблема с атомарностью. Ну или Локи придется делать а это больно
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
спасибо, буду гуглить
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
еще хотел спросить, если не сложно отвечать, вот про это впервые слышу:
доменный сервис не гарантирует атомарность
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
это личный опыт или какое-то правило?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ну попробуй придумать. Вот сервис тебе говорит "чёт свободно" а в это время кто-то другой забирает. Вероятность этого конечно низкая но...

Либо надо локи вводить либо нет гарантий 100% что все ок будет
источник

SP

Sergey Protko in Software Design/Architecture/Zen
С uniq constraint в каком постгре можно тоже дедлок схватить :) жизнь боль
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
благодарю за ответы
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
Подскажите пожалуйста , нормально ли делать проверку входных значений в конструктор при создании инстанса
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
И если входные значения в конструктор не проходят валидацию , то выдать ошибку
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
нормально когда это межграничное взаимодействие между разными частями системы и там есть недоверие.
внутри модуля уже ненормально, т.к. данные внутри должны быть довереные и провереные заранее.
и, конструкторы не возвращают ошибок. они могут только кидать исключения.
если ты будешь кидать исключения в любом месте, а не только в пограничных классах, получится весь твой код будет совсем небезопасный, и постоянно надо будет любую часть окружать try/catch, что не совсем круто
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
Такс, тогда уточню, у меня есть дто, я хочу при вхождении значений провалидировать их, то есть в резолвере я дтошку провалидирую, а потом отдам ее чистую в контроллер и буду там чёт делать, такое можно ?
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
можно притащить ошибки валидации с собой
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
отдельным аргументом метода (ну если про симфони например говорить), в других фреймворках хз
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
Вообще js), ну я понял в принципе, спасибо вам большое
источник

ch

central hardware in Software Design/Architecture/Zen
так DTO не должно содержать в себе поведения
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
Крч, читаю доку неста(nest js), а там дтошку создают что бы валидировать входящий реквест обжект
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
дто валидируй
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
Ну вы говорите про то, что бы создать дто, а после делать валидацию, так ?
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
ну да
источник

NC

Nikita Chaykin in Software Design/Architecture/Zen
А там именно в моменте создания все происходит
источник