Всем привет!
Только недавно начал пытаться работать с андроидом и мокси и уже который раз сталкиваюсь с проблемой:
Если ты пишешь какую-нибудь достаточно сложную логику, ты неизбежно упираешься в ограничения концепциии один view - один presenter.
Если тебе просто нужно протащить некоторую совокупность данных через какую-то череду форм и страниц, ты можешь сделать один пресентер на кучу фрагментов и поместить его в некоторый общий родительский фрагмент/активити.
Но бывают ситуации, например, когда один и тот же фрагмент должен фигурировать в разных частях программы, и всякий раз получать какие-то данные от вызвавшей вьюхи и тогда я сталкиваюсь с целой плеядой возможных решений, оно страннее другого.
1) Передавать данные между пресентерами через вьюху, но это сущий ад, который загромождает и уродует код.
2) Скажем вьюхи А и Б, могут вызывать С. Можно сделать некоторый абстрактный презентер для С и унаследовать от него А и Б, и тогда данные остануться инкапсулированны, но усложнится структура классов.
3) Я ещё не пробовал, но может можно как-нибудь красиво агрегировать пресентеры между собой минуя слой представления?
Не могли бы вы поделиться, как вы решаете подобные проблемы при написании кода. Может есть какое-то конвенциональное мнение на этот счет. Я застрял на этом и чувствую, что каждое из возможных решений может мне в дальнейшем испортить всю разработку.