Шаблон проектирования MVC для разработки приложений для Android с использованием фрагментов в виде представлений и действий в качестве контроллера
Недавно я читал Fragments (не использовал это в своем приложении) и узнал, что он может использоваться в разработке приложений для телефонов.
Я думаю об использовании фрагментов для реализации шаблона проектирования MVC (model-view-controller). Многие утверждают, что разработка Android по умолчанию соответствует MVC. Но я вижу активность так же, как и Views, и определенная нехватка контроллера, когда запускается другая деятельность. Поэтому я думаю использовать "Фрагменты" как "Представления" с помощью одного "Активность" как "Контроллер" > и обменивать/добавлять/удалять фрагменты по мере необходимости.
Итак, мой базовый подход таков:
1) Пользователь взаимодействует с пользовательским интерфейсом (фрагменты).
2) Контроллер (Activity) обрабатывает событие из фрагментов и передает его в модель (Backendthread/Service).
3) Модель (Backendthread/Service) уведомляет контроллер об изменении состояния модели.
4) Контроллер (Activity) уведомляет UserInterface (Фрагменты), который уведомит пользователя.
Мой подход - обряд или ненужные накладные расходы, или мое восприятие о фрагментах неверно?
Пожалуйста, уточните меня.
Ответы
Ответ 1
IMHO, фрагменты - это контроллер. Представление представляет собой корзину фрагментов виджетов. Действия - это уровень оркестровки, определяющий, какие фрагменты (и их виджеты) необходимы в данном случае (например, один на телефоне, два на планшете), но в противном случае имеет ограниченную бизнес-логику.
Говоря об этом, Android и шаблоны, подобные MVC, не обязательно идут вместе. Я не думаю, что Google намерен создать чистую инфраструктуру MVC.