2016-05-08 9 views
5

Używam wzorca projektowego MVP. Modelami, które przedstawiam mojemu widokowi są obecnie POJOS, które są modelami dla mojej lokalnej bazy danych o Królestwie. Biorąc to pod uwagę, mają one adnotowanych członków istotnych dla bazy danych. Czy byłoby lepiej użyć prezentera do odwzorowania modeli DB zwróconych z interaktora na modele, które zawierają tylko dane, które powinien wykorzystać widok (czy ma osobny model POJO dla mojego widoku)? Czy też dobrze jest przekazać widok moim modelom db?Android MVP - Który model zaprezentować, aby wyświetlić

Dzięki.

Odpowiedz

2

Pytanie trzeba zadać to

Jeśli usunąłem Realm od mojego app musiałbym wprowadzić zmiany do mojego widzenia, jeśli mogę użyć tych klas encji

Jeśli odpowiedź brzmi nie, nie widzę problemu z użyciem tych elementów do przekazania do widoku. Jeśli jednak są one powiązane z Realem w taki sposób, że musiałbyś zmienić widok, to złamałoby to rozłączoną ideę MVP.

Osobiście dość często robię ViewModel. Powodem jest to, że chcę zminimalizować liczbę oddzielnych połączeń między moim prezenterem a moim widokiem. Idealnie Twój widok powinny być jak najbardziej zbliżone do konieczności metod:

setLoadingUi(); 
setContentUi(ViewModel model); 
setEmptyUi(); 
setErrorUi(); 

Chociaż nie zawsze jest to możliwe, jeśli mają różne połączenia zdaniem, takie setConfirmButtonText która łączy swoją Presenter na wiedząc zbytnio widoku. Co się stanie, gdy zmienisz przycisk przesunięcia palca ... Twój prezenter będzie musiał zmienić tak samo, jak widok.

Mam nadzieję, że to pomoże!