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
140
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
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
3.3k
TAKTでAI駆動開発の品質を設計する
j5ik2o
5
680
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
110
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
130
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
430
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
Lessons from Spec-Driven Development
simas
PRO
0
130
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
800
3Dシーンの圧縮
fadis
1
590
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Being A Developer After 40
akosma
91
590k
We Have a Design System, Now What?
morganepeng
55
8.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Leo the Paperboy
mayatellez
7
1.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
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