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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
3.3k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
Claspは野良GASの夢をみるか
takter00
0
160
エージェンティックRAGにAWSで入門しよう!
har1101
5
110
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
160
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
OSもどきOS
arkw
0
400
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
3
1.8k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
430
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Six Lessons from altMBA
skipperchong
29
4.3k
The Limits of Empathy - UXLibs8
cassininazir
1
340
GraphQLとの向き合い方2022年版
quramy
50
15k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
The Spectacular Lies of Maps
axbom
PRO
1
780
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
So, you think you're a good person
axbom
PRO
2
2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
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