Size: a a a

Android Architecture

2020 February 19

(

( in Android Architecture
Damir Kadyrgulov
Костыль в этом?
Пока что я вижу костыль во всем. Опять же, вместо статического связывания, которое проверяется компилятором, связывание в действительности случается в рантайме, а перетаскивать проверки, которые можно сделать при компиляции в рантайм - это адски ненадёжно
источник

DK

Damir Kadyrgulov in Android Architecture
(
То есть, если по этому айдишнику не оказалось юзкейса, ничего не произойдёт вообще? Юзер нажал на кнопку на экране - проиграл?
Этот функционал легче оттестить, чем 20 юзкейсов в конструктор презентера провайдить отдельно
источник

(

( in Android Architecture
Не говоря о том, что получается сервис локатор, причем ключ должен знать и провайдер, и презентер
источник

(

( in Android Architecture
Damir Kadyrgulov
Этот функционал легче оттестить, чем 20 юзкейсов в конструктор презентера провайдить отдельно
То есть, при тестировании конкретных юзер-флоу в презентер просто суются не все юзкейсы?
источник

М

Максим in Android Architecture
Damir Kadyrgulov
Этот функционал легче оттестить, чем 20 юзкейсов в конструктор презентера провайдить отдельно
возможно проблема в понимании юзкейса? у этих юзкейсов разная логика презентации?
источник

DK

Damir Kadyrgulov in Android Architecture
(
Не говоря о том, что получается сервис локатор, причем ключ должен знать и провайдер, и презентер
Согласен, похоже на сервис локатор. Чем плохо решение?
источник

(

( in Android Architecture
Damir Kadyrgulov
Согласен, похоже на сервис локатор. Чем плохо решение?
Выше написал
источник

(

( in Android Architecture
Ну и в этом же сообщении тоже
источник

DK

Damir Kadyrgulov in Android Architecture
Максим
возможно проблема в понимании юзкейса? у этих юзкейсов разная логика презентации?
Нет, юзкейсы о презентации ничего не знают. Они меняют модели, презентер модели отображает
источник

М

Максим in Android Architecture
Damir Kadyrgulov
Нет, юзкейсы о презентации ничего не знают. Они меняют модели, презентер модели отображает
тогда зачем презентору знать о 20 юзкейсов если он их адинаково отображает?
источник

(

( in Android Architecture
Инжектинг n юзкейсов в качестве полей - это та же мапа, но при этом ключами являются имена полей и их проверяет компилятор
источник

DK

Damir Kadyrgulov in Android Architecture
Даже больше скажу - юзкейсы, при необходимости, создают команды для стека Undo/Redo, которые меняют модельки. Презентеру только модельки отслеживать остается
источник

М

Максим in Android Architecture
если презентация для каждого кейса одинакова, тогда всю логику 20 кейсов можно описать внутри одного кейса, пусть он там решает что делать уже на уровне "доменной клин логики"
источник

DK

Damir Kadyrgulov in Android Architecture
Максим
тогда зачем презентору знать о 20 юзкейсов если он их адинаково отображает?
Всмысле? Презентер модели отображает, плюс отображает некие кнопки, которые этими моделями рулят через юзкейсы
источник

М

Максим in Android Architecture
Damir Kadyrgulov
Нет, юзкейсы о презентации ничего не знают. Они меняют модели, презентер модели отображает
То есть логика презентации всё-таки разная для каждого кейса?
источник

DK

Damir Kadyrgulov in Android Architecture
Максим
если презентация для каждого кейса одинакова, тогда всю логику 20 кейсов можно описать внутри одного кейса, пусть он там решает что делать уже на уровне "доменной клин логики"
Юзкейс слишком огромный получится
источник

DK

Damir Kadyrgulov in Android Architecture
Максим
То есть логика презентации всё-таки разная для каждого кейса?
Что вы подразумеваете под "логикой презентации"?
источник

М

Максим in Android Architecture
Damir Kadyrgulov
Юзкейс слишком огромный получится
будет кейс со большим when, или списком если так хочется, и куча микрокейсов
источник

DK

Damir Kadyrgulov in Android Architecture
Максим
будет кейс со большим when, или списком если так хочется, и куча микрокейсов
Так не катит... огромный и тяжелый класс... тем более что кейсы могут выполнять абсолютно разную работу
источник

DK

Damir Kadyrgulov in Android Architecture
Представьте, что у меня на канве куча объектов отображается. Есть модельки этих объектов, и их презентер отрисовывает (презентует блин ))). Юзкейсы позволяют принять выделяемые объекты и с ними сделать определенные действия, заложенные в логике юзкейса - удалить, переставить в определенном порядке, и прочее
источник