Size: a a a

Android Architecture

2020 June 18

AD

Aleksey D. in Android Architecture
Дамир Kadyrgulov
В догонку еще один вопрос - а зачем в репозитории почти всегда присутствует метод GetById? Записи всегда вытаскиваются со своими айдишниками наружу и тащатся эти айдишники через все слои до вьюхи... и вдруг исчезают, ибо пользователю эти айди не нужны
так куда они исчезают? да, они не нужны для отображения, но как-то же надо связать сущности🤔

тот же DiffUtil использует id сущности
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Yakov Weber
Ну так если тебе нужно по нажатию на item списка получать детальную информацию для этого и используется ID, потом ты просто находишь данные по нему через метод getById
То есть, проектируя доменные сущности, мы изначально должны закладывать в них какие-то поля с id, тип которых известен только конкретной реализации хранилища?
источник

MM

Mikhail Mustakimov in Android Architecture
Дамир Kadyrgulov
То есть, проектируя доменные сущности, мы изначально должны закладывать в них какие-то поля с id, тип которых известен только конкретной реализации хранилища?
Почему конкретной? Это универсальный идентификатор, который позволяет однозначно определить объект. Он появляется из единого источника правды -- сервера
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Mikhail Mustakimov
Почему конкретной? Это универсальный идентификатор, который позволяет однозначно определить объект. Он появляется из единого источника правды -- сервера
А куда подевались методы получения hash-кода объекта?
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Разве их нельзя использовать для идентификации?
источник

AO

Artem Osipov in Android Architecture
норм хешить объект-то каждый раз?)
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Artem Osipov
норм хешить объект-то каждый раз?)
Нет конечно. Но ведь можно там скрыть этот самый айди, переписав getHashCode
источник

AO

Artem Osipov in Android Architecture
и что дальше?
источник

AO

Artem Osipov in Android Architecture
getByHash?
источник

AO

Artem Osipov in Android Architecture
разберись чем отличается Id от Hash объекта и почему это разные вещи
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Artem Osipov
getByHash?
Нет... репозиторию передается сущность, а там он сам разбирается, где айди взять
источник

OP

Oleg Pchelkin in Android Architecture
Дамир Kadyrgulov
Нет конечно. Но ведь можно там скрыть этот самый айди, переписав getHashCode
ну вот у тебя есть два пользователя с именем Дамир, как ты определишь на кого из них ты нажал посмотреть информацию?
источник

AO

Artem Osipov in Android Architecture
Oleg Pchelkin
ну вот у тебя есть два пользователя с именем Дамир, как ты определишь на кого из них ты нажал посмотреть информацию?
он закинет человека в автобус и тот поедет в другой город, вместо того чтобы данные паспорта передать)
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Oleg Pchelkin
ну вот у тебя есть два пользователя с именем Дамир, как ты определишь на кого из них ты нажал посмотреть информацию?
Я же уже сказал. Скрыть айдишник в hash
источник

OP

Oleg Pchelkin in Android Architecture
Ты хэш генеришь на основании внутренних переменных объекта. Если ты хэш задаешь как отдельным внутренним полем - то ты делаешь то же самое что id, только называешь это хэш
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Artem Osipov
он закинет человека в автобус и тот поедет в другой город, вместо того чтобы данные паспорта передать)
Я понял... это удобно таскать в сущностях айдишники, потому-что... шаблонное мышление легче натягивается на проект
источник

AO

Artem Osipov in Android Architecture
Дамир Kadyrgulov
Я понял... это удобно таскать в сущностях айдишники, потому-что... шаблонное мышление легче натягивается на проект
так это ты объект передаешь целый вместо ид
источник

ДK

Дамир Kadyrgulov... in Android Architecture
Oleg Pchelkin
Ты хэш генеришь на основании внутренних переменных объекта. Если ты хэш задаешь как отдельным внутренним полем - то ты делаешь то же самое что id, только называешь это хэш
Кто сказал, что по другому нельзя хэш генерить?
источник

AO

Artem Osipov in Android Architecture
чел, все уже поняли что ты самый умный, а остальные тупые. О чем дальше речь?)
источник

OP

Oleg Pchelkin in Android Architecture
Дамир Kadyrgulov
Кто сказал, что по другому нельзя хэш генерить?
Ну ты пока сферического коня в вакууме описываешь - я не против. Если покажешь реализацию лучше - покажи. Как ты планируешь натянуть свое нешаблонное мышление на модель?
источник