Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
お寿司屋で例えるAndroid設計入門
Search
Swimmy
June 20, 2021
Programming
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お寿司屋で例えるAndroid設計入門
Swimmy
June 20, 2021
More Decks by Swimmy
See All by Swimmy
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
280
違いがワカルKotlinプログラマーへの道
reoandroider
0
170
違いのワカル Kotlinプログラマーへの道
reoandroider
0
280
[Jetpack Compose] 原理から見るSkippable対応
reoandroider
1
390
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.5k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.3k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途~NestedScrollInteropConnectionは何してるの?編~
reoandroider
0
3k
Roborazziを最大限に活用する(導入編)
reoandroider
0
370
Master of NestedScroll
reoandroider
0
16k
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
800
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
180
ActionController meets Protocol Buffers
sorah
0
560
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
240
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1k
AmebaブログはKMPから卒業します
kmars0605
0
210
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
How to Think Like a Performance Engineer
csswizardry
28
2.9k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
Transcript
お寿司屋で例える Android設計入門 by Reo
自己紹介
・専門学生 ・UIのあるものを作りたい→Android開発を始める ・現在自社開発企業にて、Android長期インターン中
設計を学ぶきっかけ
ランニングアプリ作成中の出来事・・ 一つのFragmentに1000行!! ・読みにくい ・辿りにくい ・重くなる
None
お客さん 板前 漁師 海 冷凍保存 View ViewModel Repository Room Remote
Data Source
お客さん 板前 漁師/仲卸業者 海 冷蔵庫 View ViewModel Repository Room Remote
Data Source 依存関係 データ(魚)の流れ
お客さんの対応兼板前兼冷蔵庫兼漁師 View
ソフトウェアの世界でも 分業は必要!!
>関心の分離 最も重要な原則は、 関心の分離です。すべてのコードを 1 つの Activity または Fragment に記 述するのはよくある間違いです。これらの
UI ベースのクラスには、 UI やオペレーティング シス テムとのやり取りを処理するロジックのみを含めます。これらのクラスをできる限りシンプルに保 つことで、ライフサイクルに関連する多くの問題を回避することができます。 Activity と Fragment の実装はデベロッパーが管理するものではないことにご注意ください。こ れらのクラスは、Android OS とアプリ間のコントラクトを体現する単なる結合クラスです。 Android OS は、ユーザーの操作に基づいて、またはシステムの状態(メモリ不足など)を理由と して、いつでもこれらのクラスを破棄することができます。ユーザーの便宜を十分に図り、アプリ を管理しやすくするため、こうしたクラスへの依存を最小限に抑えることをおすすめします。
お寿司屋の分業を簡単に再現したアプリ [Qiita] https://qiita.com/LaO/items/121365d5a1ab34815bc6 [Github] https://github.com/lion-king-IT/Qiita-MVVM-Sample
ご静聴 ありがとうございました by Reo