Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Relationship between MVPs

Relationship between MVPs

Alexandra Tritz

May 23, 2019
Tweet

More Decks by Alexandra Tritz

Other Decks in Programming

Transcript

  1. TheFork 60,000 restaurants in 18 countries 14 million reviews +21

    million monthly visits +16 million app downloads
  2. TheFork team 6 android devs in 2 countries 1 shared

    PO 5 iOS devs design team shared
  3. RestaurantListPresenter.kt class RestaurantListPresenterImpl : RestaurantListPresenter { fun onScroll(lastItemViewed: Int) {

    restaurantListListener?.onScrolled(lastItemViewed) // internal logic } } MapPresenterImpl.kt class MapPresenterImpl : MapPresenter { fun onClickPin(pinClicked: Int) { mapListener?.onClickPin(pinClicked) // internal logic } }
  4. RestaurantListPresenter.kt class RestaurantListPresenterImpl : RestaurantListPresenter { fun onScroll(lastItemViewed: Int) {

    restaurantListListener?.onScrolled(lastItemViewed) // internal logic } } MapPresenterImpl.kt class MapPresenterImpl : MapPresenter { fun onClickPin(pinClicked: Int) { mapListener?.onClickPin(pinClicked) // internal logic } }
  5. SearchPresenterImpl.kt class SearchPresenterImpl @Inject constructor( private val view: SearchView :

    SearchPresenter, RestaurantListListener, MapListener { private var restaurantListInteractor: RestaurantListInteractor? = null private var mapInteractor: MapInteractor? = null override fun onScrolled(restaurantIndex: Int) { mapInteractor?.highlightPin(restaurantIndex) } override fun onClickPin(restaurantIndex: Int) { restaurantListInteractor?.highlightRestaurantCard(restaurantIndex) } }