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

Code architecture for Android apps

Code architecture for Android apps

Talk given at Devfest Romania 2015. (http://devfest.ro)

Catalin Morosan

November 12, 2015
Tweet

More Decks by Catalin Morosan

Other Decks in Technology

Transcript

  1. Architecture goals • high maintainability • low technical debt •

    independent of frameworks ◦ UI, database, network
  2. Architecture goals • high maintainability • low technical debt •

    independent of frameworks ◦ UI, database, network • testable ◦ loose coupling
  3. Architecture goals • high maintainability • low technical debt •

    independent of frameworks ◦ UI, database, network • testable ◦ loose coupling • not over-engineered
  4. Architectures • Clean Architecture ◦ Uncle Bob • Hexagonal Architecture

    (Ports & Adapters) ◦ Alistair Cockburn • Flux Architecture ◦ Facebook
  5. Architectures • Clean Architecture ◦ Uncle Bob • Hexagonal Architecture

    (Ports & Adapters) ◦ Alistair Cockburn • Flux Architecture ◦ Facebook • VIPER Architecture ◦ mutual mobile (iOS)
  6. Design Patterns (Mini Architectures) • MVC ◦ Model View Controller

    • MVP ◦ Model View Presenter • MVVM ◦ Model View ViewModel
  7. Design Patterns (Mini Architectures) • MVC ◦ Model View Controller

    • MVP ◦ Model View Presenter • MVVM ◦ Model View ViewModel • Repository
  8. Package by feature vs by layer • Horizontal slicing ◦

    activities, views, presenters • Vertical slicing ◦ per feature / user story