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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Swimmy
June 20, 2021
Programming
43
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
250
違いがワカルKotlinプログラマーへの道
reoandroider
0
170
違いのワカル Kotlinプログラマーへの道
reoandroider
0
270
[Jetpack Compose] 原理から見るSkippable対応
reoandroider
1
370
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.4k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途
reoandroider
0
3.2k
Androdアプリ開発におけるネストスクロール問題と向き合うの説明用途~NestedScrollInteropConnectionは何してるの?編~
reoandroider
0
2.9k
Roborazziを最大限に活用する(導入編)
reoandroider
0
360
Master of NestedScroll
reoandroider
0
16k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
130
AIエージェントで 変わるAndroid開発環境
takahirom
2
720
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
140
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
[RVD26] Vibe Architecture en 2040 : Darwin a-t-il (enfin) eu raison des architectes ?
alexandretouret
0
100
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
370
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
FDEが実現するAI駆動経営の現在地
gonta
2
220
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
740
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Visualization
eitanlees
152
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
510
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Language of Interfaces
destraynor
162
27k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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