Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modularizing and Refactoring Android App with C...
Search
kobito-kaba
July 03, 2019
Programming
0
210
Modularizing and Refactoring Android App with Clean Architecture
kobito-kaba
July 03, 2019
Tweet
Share
More Decks by kobito-kaba
See All by kobito-kaba
新規プロジェクトでやってよかったことまとめ
kobitokaba
1
710
Youtube like BottomNavigation
kobitokaba
0
180
Slice Your App
kobitokaba
2
1.1k
Inside Jetpack
kobitokaba
2
89
Generating and Transforming Kotlin code
kobitokaba
0
64
Conference Tourism
kobitokaba
0
230
Inside Jetpack Architecture Components
kobitokaba
0
190
Kotlinもう一歩
kobitokaba
8
15k
Inside LifecycleObserver
kobitokaba
0
80
Other Decks in Programming
See All in Programming
dRuby 入門者によるあなたの身近にあるdRuby 入門
makicamel
4
340
プログラマのための音楽入門
cheebow
5
560
Swift Concurrencyとレースコンディション
objectiveaudio
1
400
マルチモジュールにおけるテスト最適化
fxwx23
0
190
New Order in Cascade Sorting Order
mugi_uno
3
2.5k
Meet BrowserEngineKit
swiftty
0
330
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
530
労務ドメインを快適に開発する方法 / How to Comfortably Develop in the Labor Domain
yuki21
1
250
null or undefined
susisu
22
6k
Swiftで高速フーリエ変換してオーディオビジュアライザーを作る / iOSDC Japan 2024 Day1 Track D
kyome22
2
500
Swiftコードバトル必勝法
toshi0383
0
150
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
320
Featured
See All Featured
Thoughts on Productivity
jonyablonski
66
4.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
46
48k
From Idea to $5000 a Month in 5 Months
shpigford
378
46k
The Mythical Team-Month
searls
218
43k
Become a Pro
speakerdeck
PRO
22
4.9k
Debugging Ruby Performance
tmm1
72
12k
Building Applications with DynamoDB
mza
89
5.9k
Designing for Performance
lara
604
68k
Atom: Resistance is Futile
akmur
261
25k
Happy Clients
brianwarren
96
6.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Transcript
None
None
None
None
None
None
None
None
https://youtu.be/GesiS2bkTKA
None
None
None
app bidding search product sell
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
Modularize
None
┐('~`;)┌
None
None
Inline Super Class
None
None
None
None
None
None
Inline Method
Inline Method
None
None
None
None
None
None
None
None
Why we use Clean Architecture? Why/How/What Clean Architecture? Ref:https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
Why CleanArch.? • Reduce & prevent spaghetti codes • Increase
readable and testable codes • Clear scope of influence
How does design CleanArch? • Separation of stable & flexible
codes. • Make Flexible code dependent only on more stable code • Make the direction of dependence one direction
Over view(※): CleanArchitecture ※:Some interfaces, or classes are omitted
Presentation Layer • View: Activity, Fragment,.. • Presenter: Express view
logic, gateway for domain
Data Layer • DataStore: Gateway for DB/API, and generate Entity
Domain Layer • Entity: Express business data • Usecase: Express
business logic, gateway for presentaion • Repository: Interface between domain and data layer
Let’s see Sample Product • Sample Product: Click button ->
change TextView as several Lang https://github.com/kiuchikeisuke/Android-Studio-CleanArchitecture-template-forKotlin/tree/demo_for_droidcon
None
None
None
None
None
None
None
None
None
None
None
Thank you