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

Доброго дня, коллеги Есть тут эксперты Coordinator+Router паттерна? Правильно ли я понимаю,

что для каждого экрана должен создаваться свой координатор + инжектиться в него ссылка на корневой роутер, если из этого экрана можно двигаться дальше по флоу?

15 ответов

12 просмотров

а для каких решений подходит подход Coordinator+Router?

Координатор на флоу, а роутер на каждый экран создается. Но вообще мне сказали что вместе не очень их использовать

Anton-I Автор вопроса
AnnaS
Координатор на флоу, а роутер на каждый экран созд...

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

Anton-I Автор вопроса
AnnaS
Координатор на флоу, а роутер на каждый экран созд...

почему не очень? как аргументировали?

Anton I
говорим про разные роутеры с вами, видать в моем с...

а почему координатор не может хранить в себе навКонтроллер?

Anton I
почему не очень? как аргументировали?

Ну у тебя похорошему должно что то одно отвечать за переходы. Есть три вида, навигатор роутер и координатор, у каждого свой рецепт преготовления. Я видела в проектах навигатор через синглтон реализованный и пацанам было ок все)

Anton-I Автор вопроса
Anton-I Автор вопроса
Lev Bondarenko
и какая функция у него вообще

координатор знает что куда может направить текущий экран

Anton-I Автор вопроса

@lvbond изначально вопрос был такой, дальше был диалог о поиске проблемы и мы просто отошли от темы, хотя вопрос был именно про связку Coordinator+Router спасибо за диалог, кое что я переосмыслил, в любом случае :)

Координатр создается на каждый “пользовательский сценарий” типа “раздел профиля”, “онбординг”, “экраны оплаты”. Я делал без роутера потому что флоу был не очень сложный. Но если там много логики типа “если А то после Б показать В”, тогда для экрана создает роутер и координатор пишет в роутер типа “дай следующий экран” и роутер сам решает какой именно. Координатор должен сам его показать. Я так это вижу

Anton-I Автор вопроса
Alex Zykov
Координатр создается на каждый “пользовательский с...

т.е. к примеру, возьмем абстрактный мессенджер переходя из списка чатов в определенный, создается 1 координатор комнаты и там рулятся клики и переходы от всего функционала экрана? не берем во внимание разделение на несколько координаторов(к примеру действия сообщений(видео, картинки и т.п.), навбар и т.д.)?

Anton I
т.е. к примеру, возьмем абстрактный мессенджер пер...

Я бы сделал так. Либо сделал координатор на уровне “списка чатов”, там несколько экранов типа “список”, “комната 1” “комната 2”ит.д. Ну допустим юзер нажал на юзерпик пользователя. Тогда там начинается сценарий “профиль пользователя” создается новый координатор для этого сценария, первый координатор передает в него юзер айди и передает управление стартует новый сценарий в нем еще несколько экранов.

Anton-I Автор вопроса
Alex Zykov
Я бы сделал так. Либо сделал координатор на уровне...

понял, спасибо так себе и представлял этот подход

Anton I
понял, спасибо так себе и представлял этот подход

Мы пробовали это интегрировать для большого приложения с переменным успехом. Там были вопросы в основном на уровне “корня приложения” нужно было делать некоторый “рутовый координатор” который передавал управление между координаторами, и этот класс получился довольно массивным.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта