All you need is isolating the domain ...
summary
Concrete technique: extract domain into a separate Gradle module so dependency direction is enforced, unit tests run easily and domain rebuilds are smaller and faster. Model common concepts as immutable value objects using Kotlin data class or Java final fields / AutoValue and LocalDate for dates. Applied across 5 app projects that are each >1 year old; refactoring reveals only 5 item types vs 16 boolean combinations, clarifies ubiquitous language, reduces UI logic, and improves testability.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 8:30Isolate the domain in Android apps
- 14:10Value objects in domain models
- 23:40Implementing value objects
- 31:22Domain model anemia and refactoring
- 37:05Entities and identity
- 42:41Summary
related talks
37mEmbracing Declarative Gradle and Software Types
40mModularizing Android Applications
28mEffective Gradle Scripts for Android Projects
34mIntro to App Modularization
46mSecure Domain
41mMaking a Kotlin, Architecture Components, Rx and Coroutines sandwich
40mBetter Android Development with Kotlin & Gradle
41mDomain Experiments
