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
お寿司屋で例える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
260
違いがワカルKotlinプログラマーへの道
reoandroider
0
170
違いのワカル Kotlinプログラマーへの道
reoandroider
0
270
[Jetpack Compose] 原理から見るSkippable対応
reoandroider
1
380
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.4k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.3k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途~NestedScrollInteropConnectionは何してるの?編~
reoandroider
0
3k
Roborazziを最大限に活用する(導入編)
reoandroider
0
360
Master of NestedScroll
reoandroider
0
16k
Other Decks in Programming
See All in Programming
リアルな遅延を測る仕様
kota_yata
1
140
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
800
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
190
Foundry Localでエージェント開発
seosoft
0
110
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
AIエージェント時代のコードレビューを設計する
nogu66
5
2.3k
自分的「カンファレンスの楽しみ方」
syumai
0
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
220
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
120
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.6k
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
320
We Have a Design System, Now What?
morganepeng
55
8.3k
Leo the Paperboy
mayatellez
8
2.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The browser strikes back
jonoalderson
0
1.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Product Roadmaps are Hard
iamctodd
55
13k
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