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

Forgetting Android

Forgetting Android

Architecture is About Intent, not Frameworks. In this talk we talk about how we can prepare our Android application to use the Android framework as a tool instead of cramming your app into their limited constraints.

We are focussed on SOLID principles and concepts like testability, independency of UI, decoupled code, etc. are a fundamental part of this session.

Karumi

June 21, 2016
Tweet

More Decks by Karumi

Other Decks in Technology

Transcript

  1. Any fool can write code that a computer can understand.

    Good programmers write code that humans can understand. Martin Fowler
  2. A good architecture allows you to defer framework decisions. A

    good architecture allows frameworks to act as plugins to the app. Robert Martin “The database is a detail, a hardware detail. We would not use one at all if all our data could fit in memory for ever”
  3. UI Layer UI Layer UI Data Model Data Mapper Interactor

    Bussines Data Model Data Storage Test Storage Data Mapper Data Mapper Storage Data Model Test Data Model
  4. FeedViewModel FeedBoundary FeedListFragment FeedProvider GetFeed GetFeedImp List<Hipster> User DataSource Net

    UserDataSource LikeDataSource Like DataSource Parse API UserApi API Retrofit api Parse api UI Layer Domain Layer use Cases or Interactors Data sources
  5. FeedViewModel FeedListFragment FeedPresenter GetFeed Hipsters User Repository Like Repository User

    Data source UserApi Like DS Retrofit api Db View Syncronous LikeApi Retrofit api Parse UserDB Parse Parse UI Layer / MVP Domain Layer Use cases Data sources Hipsters Read only