Я много читал и тестировал шаблоны MVP в Android, но я здесь, чтобы спросить ваше мнение о том, что может быть лучшей практикой, если я хочу уважать как «правило зависимостей», так и MVP шаблон.Правила зависимостей Android MVP
Как это объясняется в многочисленных статьях (эта ссылка: http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/), наше приложение должно быть разделено на слои и только внешний слой может создать экземпляр и использовать внутренний слой. Внутренний слой получает все параметры (переменные, контексты, виды и т. Д.) И возвращает ответ или использует обратные вызовы и т. Д.
Также рекомендуется изолировать слои, используя более сложные интерфейсы и вызывающие интерфейсы вместо классов непосредственно. (см. Ссылку: http://www.tinmegali.com/en/model-view-presenter-mvp-in-android-part-2/). В ссылке выше автор указывает, что он не использует методы обратного вызова, а интерфейсы для перехода от внутреннего уровня к внешнему уровню (не соблюдая правило зависимости).
Мои вопросы по этому поводу являются два:
1) лучше использовать интерфейс как для класса вызывающего (наружный слой относится к интерфейсу класса под названием) и называется класс (внутренний layer относится к интерфейсу вызова класса), или это необходимо только в одном направлении, например, только внешний класс относится к интерфейсу внутреннего интерфейса?
2), потому что внешний слой (UI), создает все внутренние слои и с помощью простого поворота экрана разрушаются и воссоздано, это лучше (для утечки памяти), чтобы сохранить состояние (когда это необходимо), уничтожить внутренние классы и процессы и воссоздать их, или до istantiate статическим способом (через Singleton или в качестве экземпляров класса, который расширяет класс Application) все классы, которые нужно «выжить» на экране вращения? Спасибо всем!
Эй, проверить это пример приложения MVP, он изолирует все зависимости передавая их все в одной точке (активность), https://github.com/renaro/tinder-like- приложение, в этом видео есть ex выровняли MVP: https://www.youtube.com/watch?v = iXDAcWEhYSk & t = 5s –
Спасибо! Я проверю! –