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
46
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
290
[Jetpack Compose] 原理から見るSkippable対応
reoandroider
1
390
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.5k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.3k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途~NestedScrollInteropConnectionは何してるの?編~
reoandroider
0
3.1k
Roborazziを最大限に活用する(導入編)
reoandroider
0
370
Master of NestedScroll
reoandroider
0
16k
Other Decks in Programming
See All in Programming
LLM 101
dalinaum
0
470
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
280
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
180
ActionController meets Protocol Buffers
sorah
1
790
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
SODA - FACT BOOK(JP)
sodainc
1
40k
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
230
protojson における文字化けの扱い
kazuki1023
0
160
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
230
Spec-driven Development with AI
simas
PRO
0
2.3k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Color Theory Basics | Prateek | Gurzu
gurzu
1
510
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Un-Boring Meetings
codingconduct
0
490
Embracing the Ebb and Flow
colly
88
5.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
Paper Plane (Part 1)
katiecoart
PRO
2
12k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Docker and Python
trallard
47
4.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