format data for the view Model View Presenter (MVP) View • bind data to view • scheduling animations / transitions • propagate user input to presenter • Activity, Fragment, View Presenter Undabot
Observable<Timeline> getTimeline(String hashTag); Observable<Timeline> getTimeline(Region region); // Other } Repository Data source Network Disk DB Memory Undabot
presentation feature A feature B feature C domain data l a y e r s Package by layer feature A feature B feature C l a y e r s Package by feature Undabot