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
300
0
Share
Modularizing and Refactoring Android App with Clean Architecture
kobito-kaba
July 03, 2019
More Decks by kobito-kaba
See All by kobito-kaba
新規プロジェクトでやってよかったことまとめ
kobitokaba
1
910
Youtube like BottomNavigation
kobitokaba
0
260
Slice Your App
kobitokaba
2
1.3k
Inside Jetpack
kobitokaba
2
170
Generating and Transforming Kotlin code
kobitokaba
0
130
Conference Tourism
kobitokaba
0
290
Inside Jetpack Architecture Components
kobitokaba
0
250
Kotlinもう一歩
kobitokaba
8
17k
Inside LifecycleObserver
kobitokaba
0
140
Other Decks in Programming
See All in Programming
RTSPクライアントを自作してみた話
simotin13
0
400
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
110
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
inferと仲良くなる10分間
ryokatsuse
1
290
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
Modding RubyKaigi for Myself
yui_knk
0
840
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
560
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
160
AI時代のUIはどこへ行く?その2!
yusukebe
17
5.6k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
760
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Rails Girls Zürich Keynote
gr2m
96
14k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
540
Deep Space Network (abreviated)
tonyrice
0
160
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
BBQ
matthewcrist
89
10k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
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