Jaki pattern użyć do aplikacji

0

Witam,
Zastanawiam się jak najlepiej zaprojektować swoją aplikacje Android. Krótki opis apki: aplikacja będzie posiadała dwa tryby, tryb demo i tryb normalny. W trybie demo aplikacja będzie się łączyła do bazy danych na telefonie. Zaś w trybie normalnym, będzie łączyła się do webservisu, który będzie obsługiwał bazę danych. Jak najładniej połączyć te dwa tryby z minimalną powtarzalnością kodu? Mogę to zrobić w taki sposób, że zaimplementuje mnóstwo boilerplate code i sprawdzać za każdym razem ifami jaką instrukcje ma wykonać- a chciałbym tego uniknąć.

0

Zrób jakieś klasy DAO które będą miały taki sam interfejs i będą wyciągały dane przez webservice i z bazy danych. Do tego dorzuć strategię która będzie wybierać DAO wg. trybu który jest uruchomiony.

0

W trybie demo aplikacja będzie się łączyła do bazy danych na telefonie. Zaś w trybie normalnym, będzie łączyła się do webservisu, który będzie obsługiwał bazę danych. Jak najładniej połączyć te dwa tryby z minimalną powtarzalnością kodu?

Ogólnie to nie powinieneś się łączyć bezpośrednio ani do bazy danych, ani do webserwisu. Potrzebujesz abstrakcji, czegoś takiego:
aplikacja ------> X ------> dane

Gdzie X to jakiś moduł/klasa/obiekt odpowiadająca za dostęp do danych. Jeśli zrobisz 2 takie klasy (jedna do pobierania danych lokalnie, i druga do komunikacji z webserwisem), to będziesz mógł podmieniać te klasy i do wersji demo utworzysz obiekt klasy, która pobiera lokalnie, do wersji pełnej obiekt klasy, która pobiera z webserwisu. Jeśli będzie potrzebny if to tylko jeden, przy wyborze, jakiego typu obiekt utworzyć.

I tutaj dochodzimy do tego, co napisał mój przedmówca.

1 użytkowników online, w tym zalogowanych: 0, gości: 1