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
BQ+dbt+Lookerを用いた、月間800億件以上の広告リクエストに対するデータモデリング
hanon52_
4
990
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
550
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
200
TypeScriptとGraphQLを活用した変化に強いプロダクト作り
bicstone
4
550
労務ドメインを快適に開発する方法 / How to Comfortably Develop in the Labor Domain
yuki21
1
250
数値を文字列に整形する際の落とし穴とその解決策(iOSDC2024 ルーキーズLT) / iOSDC Japan 2024 Formatting Floating-Point Numbers
glassfiber
0
250
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
1
930
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
240
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
510
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
370
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
13
6.2k
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
570
Featured
See All Featured
Speed Design
sergeychernyshev
18
400
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
Designing Experiences People Love
moore
138
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
88
15k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
46
48k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
The Mythical Team-Month
searls
218
43k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
122
18k
Designing with Data
zakiwarfel
98
5k
Faster Mobile Websites
deanohume
304
30k
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