forgetting android v2

25
Forgetting Android v.2 Jorge Juan Barroso Carmona [email protected] @flipper83 +JorgeJBarroso Android expert

Upload: jorge-barroso

Post on 22-Jan-2018

889 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Forgetting android v2

Forgetting Android v.2Jorge Juan Barroso Carmona

[email protected]@flipper83+JorgeJBarroso

Android expert

Page 2: Forgetting android v2

Basho. Poet

Karumi is the beauty of ordinary things spoken of in a simple way.

Page 3: Forgetting android v2
Page 4: Forgetting android v2

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.Martin Fowler

Page 5: Forgetting android v2
Page 6: Forgetting android v2

1 Solid

Page 8: Forgetting android v2

Clean Architecture2

Page 9: Forgetting android v2

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”

Page 10: Forgetting android v2

UI

ExternalInterfaces

Db

Push

Network

Storag

e

Inte

rface

s

Inte

rface

s

BusinessModel

Interactors

Interactors

Page 11: Forgetting android v2

UILayer

UILayer

UIData Model

Data Mapper

Interactor

BussinesData Model

DataStorage

TestStorage

Data Mapper

Data Mapper

StorageData Model

TestData Model

Page 12: Forgetting android v2

FeedViewModel

FeedBoundary

FeedListFragment

FeedProvider

GetFeed GetFeedImp

List<Hipster>

UserDataSource

Net

Use

rDat

aSou

rce

Like

Dat

aSou

rce

LikeDataSource

Parse

API

UserApi

API

Retrofitapi

Parseapi

UI Layer Domain Layeruse Cases

or Interactors Data sources

Page 13: Forgetting android v2

FeedViewModel

FeedListFragment

FeedPresenter GetFeed

Hipsters

UserRepository

LikeRepository

Use

r Dat

a so

urce

UserApi

Like

DS

Retrofitapi

DbView

Syncronous

LikeApiRetrofitapi

Parse

UserDBParse

Parse

UI Layer / MVPDomain Layer

Use cases Data sources

HipstersRead only

Page 14: Forgetting android v2

Conclusion3

http://www.flickr.com/photos/inf3ktion/

Page 15: Forgetting android v2

Good Layer Responsabilites

Page 16: Forgetting android v2

Easy to test and mock

Page 17: Forgetting android v2

Easy to add or modify code

Page 18: Forgetting android v2

Easy to hide implementations

Page 19: Forgetting android v2

Easy to find smells

Page 20: Forgetting android v2

Async code

Page 21: Forgetting android v2

Duplicate data model

Page 22: Forgetting android v2

Change your mind

Page 23: Forgetting android v2

Not silver bullets

Page 24: Forgetting android v2

Find meI am very social!

[email protected]@flipper83+JorgeJBarroso

Questions?

Page 25: Forgetting android v2