Шаблон MVC более или менее предварительно встроен в Android.
У вас есть три слоя, состоящие из:
- Модель Ваши классы данных, контент-провайдеры и т. Д., Охватывающие все ваши данные.
- Контроллеры Рассматривайте все свои действия как классы контроллеров. Не делайте в них ничего похожего на бизнес-логику или сохранность данных. Просто реагируйте на события модели или пользователя и перенаправляйте их на нужный слой.
- Представление Часто Действия называют представлением, потому что там есть код Java, который является самым близким к представлениям. Но, на мой взгляд, слой представления в Android в основном определяется в XML. Вы определяете свои кнопки, изображения, изменения состояния и т. Д. В XML, а затем связываете их с вашим приложением через ваши действия.
Есть несколько простых правил, которым нужно следовать для базового разделения этих слоев.
- Определите столько своего пользовательского интерфейса только в xml
Создавай собственные представления, если есть
нет другого способа достичь чего-то,
не меняйте графическое состояние
представления из кода, например, не
изменить фон кнопки, если
кнопка деактивирована, или
цвет шрифта, если кнопка была
нажал, сделай все это через Stateful
Drawables и селекторы в XML.
- Не сохранять данные или логику в
ваши занятия Звоните на дополнительные
Модельные классы для этой цели. это
сделает вашу деятельность чистой и
короткий
- Если вы хотите изменить свои данные, подумайте
о прохождении полного
контроллер меняет модель -> модель
сообщает контролеру об изменениях
-> контроллер меняет цикл пользовательского интерфейса вместо наличия контроллера
изменить модель и интерфейс
непосредственно, потому что другие наблюдатели
о режимах может не сообщаться.