Aktywne Wpisy

Lolenson1888 +214
Jakie znacie jeszcze inne propolskie, patriotyczne wynalazki jak Liga Konferencji, gdzie można się popodniecać jak zajebiści jesteśmy? xD
- Żużel
- Eurowizja Junior
- Reprezentacja siatkówki
#mecz
- Żużel
- Eurowizja Junior
- Reprezentacja siatkówki
#mecz

guovens +58
źródło: temp_file1372746485724365402
Pobierz




Po lekturze artykułu z tej strony postanowiłem zastosować w swojej aplikacji wzorzec MVP. Założenia mniej więcej rozumiem i wydaje się to być ciekawym rozwiązaniem. Jednak natrafiłem na pewien problem.
Otóż jak rozwiązać komunikację pomiędzy prezenterami?
Przykładowo:
Mam MainActivity, które posiada przyciski służące do zmiany fragmentów w FrameLayout w tym samym layoucie.
MainActivity implementuje widok, który przekazywany jest do prezentera(MainPresenter). Prezenter po otrzymaniu sygnału od widoku o naciśnięciu przycisku podmienia w widoku fragment. Każdy fragment również jest widokiem i ma swojego prezentera(np FragmentPresenter). Na tę chwilę inicjuję prezenterów w widokach. Co w przypadku jeżeli jeden fragment zażyczy sobie zmiany fragmentu w MainActivity na inny?
Czy prawidłowym rozwiązaniem będzie wykorzystanie np. EventBusa? FragmentPresenter wysyła sygnał do MainPresenter. Czy nie jest tu problemem, że FragmentPresenter jest zależny od MainPresenter? Nie łamie to jakichś zasad o których jeszcze nie wiem?
Dobre rozwiązanie prezentuje Clean Architecture, gdzie za decyzję o aktualizacji MainPresentera odpowiada odseparowana od presenterów warstwa logiki specyficznej dla aplikacji (Use Cases) implementowana w postaci obiektów Interactor.