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

Всем доброго времени суток) Есть вопрос по навигации между экранами разных

фич во многомодульном проекте, разделение на модули по фичам согласно подходу из статьи: habr.com/ru/company/kaspersky/blog/520766/ (для каждой фичи есть модули api и impl)

Раскрою свой вопрос на примере абстрактного приложения для просмотра статей. Существуют следующие фичи: поиск статей, избранные статьи, просмотр конкретной статьи. Поиск и "Избранное" используют фичу просмотра, когда пользователь выбирает статью.

Какое api должно предоставлять фича просмотра статей и где должна происходить навигация на экран просмотра?
Навскидку я вижу два варианта:
1. Метод api принимает Router/FragmentManager, навигация выполняется в имплементации фичи просмотра
2. Метод api возвращает Screen или Fragment, навигация выполняется внутри фичи, инициирующей просмотр статьи

Какой вариант предпочтительнее? Есть ли ещё варианты?
Навскидку второй вариант выглядит логичнее, но подозреваю, что у него есть менее очевидные подводные камни)

7 ответов

13 просмотров

у нас фичи-экраны в api возвращают свой фрагмент, и при необходимости что-нибудь ещё, что нужно вызвать или наоборот послушать снаружи.

Andrey Akimov
Прям как у чуваков из hh

потому что я тоже чувак из hh 🙂

Yury-Bondarenko Автор вопроса
Алексей Ершов
у нас фичи-экраны в api возвращают свой фрагмент, ...

Понял, спасибо) То есть в целом такой подход устроил и причин его перепилить пока встретили?

Yury Bondarenko
Понял, спасибо) То есть в целом такой подход устро...

Да, вполне. Вот когда начнём на 100% композе писать, что-то придется менять)

я выношу всю навигацию в отдельный модуль и при переходах испольюзую sealed'ы

у меня эти реализации в коммерческих проектах

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта