Архитектура и основные технологии приложения

В данной главе описана архитектура разрабатываемого приложения.

Архитектура приложения

В качестве архитектуры приложения при разработке была выбрана архитектура MVP - Model - View - Presenter.

Суть данного шаблона проектирования состоит в том, что архитектура разделяется на 3 раздела:

Model - хранит бизнес-логику, имеет возможность обращаться к базе данных для получения необходимой информации.

View - позволяет отображать визуальный интерфейс, в случае необходимости получения данных для представления обращается к presenter.

Presenter - связующее звено между view и model. Обычно реализуется в виде абстрактного интерфейса и создается и вызывается из view, получая все необходимые данные о состоянии view.

MVP

Рисунок 10. MVP

Код разделен на независимые разделы для работы с HTTP запросами, моделями, адаптерами списков (Adapter - класс, реализующий заполнение списка RecyclerView) и самих экранов.

Помимо описанного выше также реализуются стандартные шаблоны Android - например, View holder - шаблон, позволяющий переиспользовать view в списках RecyclerView.

Данный шаблон реализует интерфейс, который разделяет работу со списком на два принципиально разных метода: onCreateViewHolder - вызывается для создания нового view для списка (не вызывается для каждой из ячеек списка) и onBindViewHolder - метод для установки информации в ячейке на основе модели (вызывается для каждой ячейки в списке). Сами данные хранятся в виде списка в качестве поля массива, а элементы view хранятся в специальном классе ViewHolder, создаваемом в методе onCreateViewHolder.

Каждое activity в приложении наследуется от базового класса BaseActivity, представляющего возможность показывать всплывающие подсказки, которые являются одинаковыми для всех экранов (например, сообщение об отсутствии интернет соединения).

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >