Android studyjam - The clean way
-
Upload
carlos-morera-de-la-chica -
Category
Software
-
view
600 -
download
1
Transcript of Android studyjam - The clean way
ANDROID STUDY JAM
THE CLEAN WAY
CARLOS MORERA DE LA CHICA
Github - cmc00022 @CarlosMChica
G+ CarlosMoreradelaChica
SOLID PRINCIPLES
SOLID PRINCIPLES AKA THE BIBLE
A class should have only a single responsibility.
SINGLE RESPONSIBILITY PRINCIPLE (SRP)
SOLID PRINCIPLES AKA THE BIBLE
Software classes should be open for extension, but closed for modification.
OPEN/CLOSED PRINCIPLE
SOLID PRINCIPLES AKA THE BIBLE
Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.
LISKOV SUBSTITUTION PRINCIPLE
SOLID PRINCIPLES AKA THE BIBLE
Many client-specific interfaces are better than one general-purpose interface.
INTERFACE SEGREGATION PRINCIPLE
SOLID PRINCIPLES AKA THE BIBLE
Depend upon Abstractions. Do not depend upon concretions.
DEPENDENCY INVERSION PRINCIPLE
THE DIRTY WAYANDROID STUDY JAM
ANDROID STUDY JAM - THE DIRTY WAY
GOOGLE, IS THIS REALLY WHAT YOU TEACH STUDENTS?
▸ SunshineSyncAdapter, the GOD class.
▸ DetailFragment and how to mix data base code with ui formatting
CLEAN ARCHITECTURETHE SOLUTION
CLEAN ARCHITECTURE
DEPENDENCY RULE: NOTHING IN AN INNER CIRCLE CAN KNOW ANYTHING AT ALL ABOUT SOMETHING IN AN OUTER CIRCLE
LAYERS AND FLOW
DELIVERY MECHANISM
DOMAIN
DATA
“MAKE IMPLEMENTATION DETAILS SWAPPABLE.”
Robert C. Martin
CLEAN ARCHITECTURE
“A GOOD ARCHITECTURE ALLOWS FRAMEWORKS TO ACT AS PLUGINS TO THE APP”
Robert C. Martin
CLEAN ARCHITECTURE
ANDROIDCLEAN ARCHITECTURE
CLEAN ARCHITECTURE - ANDROID
MODULES DEPENDENCIES
▸ Blue - Java module
▸ Green - Android module
CLEAN ARCHITECTURE - ANDROID
ISOLATE DOMAIN MODEL
▸ Pure domain model
▸ Layers models
TIPS & TRICKS
HOW TO AVOID WRITING STINKY CODE
▸ THINK before coding.
▸ Make sure your code follow all/most of SOLID principles.
▸ Pay special attention to class NAMES and responsibilities.
▸ Create LAYERED modules to control correct dependencies.
REFERENCES
▸ Uncle Bob - The Clean Architecture
▸ Christian Panadero - My way to clean android
▸ Pedro Gomez - Effective Android UI
▸ Jorge Barroso - Forgetting Android
▸ José M Pereira - Limpiando espero la arquitectura q yo quiero
▸ Fernando Cejas - Android the clean way
▸ Clean Coders videos
QUESTIONS?
https://github.com/cmc00022/Sunshine-Version-2