Mam zamiar wdrożyć wzór projektu architektonicznego MVVM dla mojej aplikacji na Androida. Przeczytałem w Internecie, że pomoże mi to w skutecznym oddzieleniu problemów i łatwym pisaniu przypadków testowych dla modelu danych, interfejsu użytkownika itd. Potrzebuję informacji/porady na ten temat.Jak skutecznie wdrożyć wzorzec projektowania MVVM dla mojej aplikacji na Androida, który również ułatwi zapisywanie przypadków testowych?
Odpowiedz
Dobrze, aby dowiedzieć się, jak efektywnie korzystać z MVVM, zacząć Android MVVM Design Pattern Examples
Tutaj można znaleźć ten wpis:
Jestem deweloper Android-Binding. Tak jak powiedział @Brentley, jest to bardzo nowy projekt, ale mam nadzieję, że dzięki niemu zyskasz więcej szumów i doświadczenia, dzięki czemu można go ulepszyć. Powrót do pytania, napisałem kilka prostych Wprowadzenie/tutoriale na MVVM z android wiążące:
- Android MVVM Tutorials (with android binding)
- Introduction to Android Binding (codeproject)
- Model Validation in Android Binding (codeproject)
- Wiki in project homepage
potencjalnych rodziców adopcyjnych zadowolić również Zarejestruj się na project discussion group.
Przeczytaj cały temat. Można by zauważyć, że MVVM
jest stosunkowo nowe ramy i jest wysoce zalecane, aby z nim pracować wspólnie z p Data Binding
biblioteki i iniekcji zależność biblioteki Google jak Roboguice
lub Dagger2
...
... ale najlepiej byłoby to jedno:
gdzie autor wyjaśnia użyciu MVVM powiązanie danych z biblioteki przez przykład - mam na myśli własnej stworzonej aplikacji. Kończy on:
Jest jeszcze zbyt wcześnie, aby wiedzieć, czy to podejście jest prawidłowym sposobem tworzenia aplikacji, ale ten eksperyment dał mi szansę spojrzenia na jedną z możliwości przyszłych projektów. Jest to coś, z czym zdecydowanie chcę się bawić.
Model-View-ViewModel
jest interesujący, ponieważ w tradycyjnej architekturze Androida kontroler przesyła dane do widoku. Możesz znaleźć widok w swojej działalności, a następnie ustawić na nim treść.
W przypadku MVVM numer ViewModel
zmienia część zawartości i powiadamia o powiązanej strukturze danych o zmienionej zawartości. Struktura automatycznie aktualizuje wszelkie widoki, które są związane z tą zawartością.
Te dwa komponenty są luźno sprzężone tylko przez ten interfejs danych i poleceń.
Kolejny wniosek z użyciem MVVM
jest naprawdę sprawdzalny.Od MVVM on Android: What You Need to Know
Ponieważ
ViewModel
nie zależy naView
już można przetestowaćViewModel
bezView
nawet istnieć. Przy odpowiednim wtrysku zależności dla innych zależności testowanie jest bardzo proste.Na przykład, zamiast wiązania maszyny wirtualnej z rzeczywistym widokiem, można utworzyć maszynę wirtualną w teście, podać jej dane, a następnie wywoływać na niej akcje, aby upewnić się, że dane zostały przekształcone prawidłowo. (...) Wszystko to można zrobić bez interakcji z rzeczywistym widokiem.
Czytaj także: MVVM ON ANDROID USING THE DATA BINDING LIBRARY
Mam nadzieję, że pomoże
O stanowisko stablekernel blogu, czytałem go kilka dni temu, ale muszę pamiętać, że nie jest całkowicie zgodny z MVVM. Wprowadza obawy dotyczące widoku do ViewModel (OnFocusListener, View type). Jak wszystko od Google, nie wydaje się zbyt dobrze przemyślane lub dojrzałe. Układy Xml nadal nie są zbyt elastyczne jako XAML dla przykładu, więc nadal będzie ** bardzo ** trudne do wdrożenia prawdziwej MVVM w Apps – Tseng
Deweloperzy zawsze mówią, że MVP jest bardziej dojrzały i łatwo pozwala programistom na testowanie w porównaniu do MVVM! –
Nie kupuję tej architektury pochodzącej z Knockouta i przechodzę do strumienia/reaguję. To po prostu zbyt nieprzewidywalne. – frostymarvelous