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

Ребят, правильно ли я понимаю, что DTO на каждом уровне

приложения должен быть свой? Чтобы при изменении на увроне hanler-ов, не пришлось менять бизнеслогику.

6 ответов

15 просмотров

DTO - это то, как бизнес логика работает с внешними источниками (из-за буквы T - transport), грубо говоря если проект большой, то к гадалке не ходи - дели все данные на 3 типа: внешние, доменные,хранимые К примеру для работы с сущностью User - хорошо иметь UserDTO{} который умеет только в серилизацию/десеривлизацию/валидацию. User{} - доменная модель с которой совершаются бизнес-операции и UserRecord - прослойка которая используется для работы со средствами хранения.

Dmitriy
DTO - это то, как бизнес логика работает с внешним...

для работы с сущностью не нужна никакая UserDTO потому что работа с сущностью: ограниченный перечень сценариев (бизнес-кейсов, они же use cases) соответветснно в каждый юзкейс зайдет своя дто, так называемая команда, которая вообще не соотвтетствует User у юзера есть статус, имя, емейл, дата регистрации, активен или нет, токены но в юзкейсе UserCreate придет не мифическая UserDTO, а UserCreateCommand (что по своей сути DTO) с полями только для этого кейса (name, password) в юзкейсе UserBlock придет не мифическая UserDTO, а UserBlockCommand (что по своей сути DTO) с полями только для этого кейса (userId)

Dmitriy
Тебе не нужна, другим нужна

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

Звучит как крудильня, хотя не считая различий которые ты пытаешься подчеркнуть, пишете об одном же. Postgrest тогда уж можешь взять, если всё что делаешь это маппишь DTO на сущность. Выше верно написали, снаружи приходят команды с данными нужными для выполнения бизнес-операции, а не данные чтобы их можно было в сущность смаппить

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта