Я занимаюсь рефакторингом компонента Android, чтобы принять архитектурный шаблон MVP. Проблема, с которой я столкнулся, заключается в том, что у меня есть фрагмент, в который вложены другие фрагменты.
1- Родительский фрагмент скрывает / показывает один из вложенных фрагментов в зависимости от некоторых условий.
2- Дочерний фрагмент передает данные родительскому фрагменту, который наблюдает за ним как здесь, вдохновленный механизм обратного вызова между фрагментом и действием.
У меня 2 вопроса:
1. Если я рассматриваю фрагмент как представление MVP, следует ли мне использовать отдельных презентаторов для родительского и дочернего фрагментов (сопоставление 1 к 1 между презентаторами и представлениями) или только одного презентатора для обоих и почему?
2- Если я должен использовать разных презентаторов, как мне обрабатывать передачу данных из дочернего фрагмента в родительский фрагмент, поскольку я почти не знаю минусов. и плюсы. из:
- Использование фреймворка EventBus, такого как Otto
- Разрешить докладчику иметь прямую ссылку на другого докладчика
- Держите связь на уровне представления, вдали от докладчиков, как здесь, за счет того, что делегаты вложенного представления вызывают вызовы, которые он получает от своих ведущий к родительскому представлению.