ProAndroidDev

The latest posts from Android Professionals and Google Developer Experts.

Follow publication

Member-only story

The technical choices I make to build great Android apps. Part 3 — Architecture

--

This 3-part mini-series talks a little bit about the technical choices I make when building an app, specifically an A-Z app, to go at least some of the way to describe some aspects of what makes a (technically) great app.

  1. UI
  2. Code quality
  3. Architecture

Architecture

It doesn’t matter whether you use MVP, MVVM, MVI or whatever the next craze is as long as you use it consistently in your project as there’s nothing worse than a code base with unclear intentions.

For this particular app, I use MVVM and LiveData with a sprinkling of coroutines and clean architecture, most importantly though I try to obey the SOLID principle which Elin Nilsson summarised brilliantly in her talk at droidcon London 2018.

Single responsibility principle — Don’t do a lot of things in one class

Open/closed principle — Design the API of the class so that it can be used and extended without being modified

Liskov substitution principle — Don’t let implementations of the same interface behave differently

Interface segregation principle — Don’t design big interfaces

Dependency inversion…

--

--

Published in ProAndroidDev

The latest posts from Android Professionals and Google Developer Experts.

Written by Matthew Dolan

Matt Dolan has been eating doughnuts and developing with Android since the dark days of v1.6.

Responses (2)

Write a response