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

Вроде проясняется) сколько должно быть объектов DTO межу уровнями?

К примеру у меня есть сущность, полученная по сети, потом сущность, которую я храню в базе. И сущность, которую я использую при выводу в UI. Так вот, на каком уровне расположить эти маперы? И между какими слоями заниматься перегоном этих сущностей?

13 ответов

15 просмотров

Я думаю мап дто рума в ui, и дто из бека в ui. А, ну и из бека в рум.

У тебя уровень более внешний (домен в центре если) должен получать дто из слоев ниже. В идеале стоит абстрагироваться от того, что тебе ретрофит и рум возвращают - эти объекты только детали имплементации

Анатолий-Петров Автор вопроса
Egor Sigolaev
Я думаю мап дто рума в ui, и дто из бека в ui. А, ...

Получится, что usecase будет возвращать объект room, который я буду после этого конвертировать в ui?

Анатолий Петров
Получится, что usecase будет возвращать объект roo...

Юзкейс смотря какой. Если хочешь отобразить данные для ui из рума, то юзаешь юзкейс с мапингом ROOM -> UI.

Анатолий-Петров Автор вопроса

Т е у меня будет маппер в app, который будет перегонять объекты Retrofit и Room в UI, правильно? А может сделать, чтобы уровень data возвращал dto объекты, без каких-либо аннотации рума и ретрофита?

Анатолий-Петров Автор вопроса
Egor Sigolaev
Зачем потом мапить, если можно на ходу?

Это я имел ввиду. Можно такой вопрос глупенький, раньше использовал RxJava, решил попробовать крутизны. Так вот, можно конвертировать suspend await функцию на лету? И делать это нужно через map или flatmap?

Анатолий Петров
Это я имел ввиду. Можно такой вопрос глупенький, р...

Честно говоря не юзал корутины, мало знаком с ними. Я бы просто при получении поджо из сети или рума сразу бы мапил в какие то свои дто.

Анатолий-Петров Автор вопроса
Egor Sigolaev
Честно говоря не юзал корутины, мало знаком с ними...

Да, я про тоже. И ими оперировать при возвращении результата с уровня data

Анатолий Петров
Да, я про тоже. И ими оперировать при возвращении ...

Ну да. Просто сделать условно 2 юзкейса, которые будут возвращать данные или с рума, или с бека. И каждый юзкейс будет возвращать свой дто.

Анатолий Петров
Да, я про тоже. И ими оперировать при возвращении ...

а если на ui вам все не нужно? зачем тащить всю модель?

Анатолий-Петров Автор вопроса
Eugene
а если на ui вам все не нужно? зачем тащить всю мо...

Можно разделить и возвращать из data различные сущности, в зависимости от надобности

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Карта сайта