Я планирую реализовать шаблон архитектурного дизайна MVVM для своего приложения для Android. Я читал онлайн, что это поможет мне добиться эффективного разделения проблем и легко написать тестовые примеры для модели данных, пользовательского интерфейса и т. Д. Вам нужно прочесть или дать советы.Как эффективно реализовать шаблон MVVM для моего приложения для Android, который также облегчит написание тестовых примеров?
ответ
Ну, чтобы узнать, как эффективно использовать MVVM, начните с Android MVVM Design Pattern Examples
Здесь вы найдете этот пост:
Я разработчик Android-Binding. Как @Brentley сказал, это очень новый проект, но я надеюсь получить больше шума и опыта, поэтому , что его можно улучшить. Возвращаясь к вашему вопросу, я написал несколько простое введение/учебники по MVVM с андроид-связывающим:
- Android MVVM Tutorials (with android binding)
- Introduction to Android Binding (codeproject)
- Model Validation in Android Binding (codeproject)
- Wiki in project homepage
Потенциальные усыновители, пожалуйста, также зарегистрируйтесь на project discussion group.
Прочтите всю тему. Вы заметите, что MVVM
относительно новая структура и настоятельно рекомендуется работать с ней совместно с р Data Binding
библиотеки и инъекции зависимостей библиотеки Google, как Roboguice
или Dagger2
...
... но лучше бы это:
где автор объясняет, используя MVVM с Binding библиотеки данных на примере - я имею в виду его собственный, созданный приложением. В заключение он делает вывод:
По-прежнему слишком рано знать, является ли этот подход правильным способом разработки приложения, но этот эксперимент дал мне возможность взглянуть на одну из возможностей для будущих проектов. Это то, что я определенно хочу поиграть с большим количеством.
Model-View-ViewModel
интересен тем, что в традиционной архитектуре Android контроллер будет передавать данные в представление. Вы увидите представление в своей деятельности, а затем установите для него контент.
С MVVM ваш ViewModel
изменяет содержимое и уведомляет структуру данных привязки об измененном содержимом. Затем каркас автоматически обновляет любые представления, привязанные к этому контенту.
Эти два компонента слабо связаны через интерфейс данных и команд.
Следующий aproach использования MVVM
действительно поддается проверке.От MVVM on Android: What You Need to Know
Поскольку
ViewModel
не зависит отView
больше, вы можете протестироватьViewModel
безView
даже существующий. При правильной инъекции зависимостей для других зависимостей это очень просто проверить.Например, вместо привязки виртуальной машины к реальному виду можно создать виртуальную машину в тестовом примере, дать ей некоторые данные, а затем вызвать на нее действия, чтобы убедиться, что данные были правильно преобразованы. (...) Все это можно сделать без взаимодействия с реальным представлением.
Читайте также: MVVM ON ANDROID USING THE DATA BINDING LIBRARY
Надеется, что это поможет
- 1. Написание тестовых примеров для OpenCV для Android
- 2. Написание тестовых примеров для приложения, использующего jdbc
- 3. Написание тестовых примеров для другой веб-службы
- 4. Написание тестовых примеров Junit для Struts
- 5. Написание тестовых примеров для моделей django
- 6. Написание тестовых примеров для Math.Random(); codewars kata
- 7. Написание тестовых примеров для запланированных работ
- 8. node.js: написание тестовых примеров для социальных сетей, таких как APIs
- 9. Написание тестовых примеров для сбора данных акселерометра/гироскопа iOS 4
- 10. Написание тестовых примеров в Haskell для разных типов
- 11. MVVM-шаблон для Paint-подобного WPF-приложения?
- 12. Как использовать пиктограмму для генерации тестовых примеров
- 13. Написание тестовых примеров SQLiteOpenHelper в JUnit4 и Mockito
- 14. Написание для петель эффективно
- 15. Конфигурирование PhantomjsDriver для запуска тестовых примеров селена
- 16. Junit: Разделение тестовых примеров
- 17. Как реализовать автоматическое обновление для моего приложения?
- 18. JUnit - запуск тестовых примеров из веб-приложения
- 19. Настройка заголовков HTTP для запуска тестовых примеров
- 20. Как реализовать план обновления моего приложения для Android?
- 21. Автоматическое создание тестовых примеров
- 22. Изготовление контрольных тестовых файлов из тестовых примеров CPPunit для спецификации
- 23. Создание тестовых примеров для красного черного дерева
- 24. Написание псевдокода для приложения android
- 25. Создание тестовых примеров для контактной формы
- 26. Добавление утверждения для ВСЕХ тестовых примеров SoapUI
- 27. Выполнение всех тестовых примеров веб-приложения
- 28. Элегантный способ обработки исключений из тестовых примеров MVVM Light ViewModel
- 29. Организация тестовых примеров для 3 окружения
- 30. Как реализовать событие touch для моего приложения?
О посте stablekernel блог, я прочитал его несколько дней назад, но я должен отметить, что это не совсем MVVM требований. Он вызывает проблемы просмотра в ViewModel (OnFocusListener, вид типа). Как и все, что от Google, похоже, он не очень хорошо продуман или созрел. Макеты Xml по-прежнему не очень гибки, как XAML для примера, поэтому все еще будет очень сложно реализовать настоящий MVVM в приложениях – Tseng
. Devs всегда говорит, что MVP более зрелый и легко позволяет разработчикам тестировать по сравнению с MVVM! –
Я не покупаю эту архитектуру из нокаута js и перехожу к flux/реагирую. Это слишком непредсказуемо. – frostymarvelous