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
やさしくわかるMVVM
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuhiro Sakamoto
October 13, 2017
Programming
11
2.9k
やさしくわかるMVVM
iOSDC 2017 Reject Conference days1の発表資料です
Kazuhiro Sakamoto
October 13, 2017
Tweet
Share
More Decks by Kazuhiro Sakamoto
See All by Kazuhiro Sakamoto
今こそ理解しよう、輸出コンプライアンス
kazu0620
7
12k
Swiftにもasync/awaitがやって来る!
kazu0620
4
1.6k
RxExampleから学ぶ!RxSwift
kazu0620
8
3.3k
RxSwiftをプロダクトに導入してみた話
kazu0620
13
6.2k
Other Decks in Programming
See All in Programming
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
200
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
310
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
150
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
230
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
400
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
CSC307 Lecture 14
javiergs
PRO
0
480
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
250
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.9k
The SEO identity crisis: Don't let AI make you average
varn
0
420
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Being A Developer After 40
akosma
91
590k
Thoughts on Productivity
jonyablonski
75
5.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Accessibility Awareness
sabderemane
0
82
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
The Limits of Empathy - UXLibs8
cassininazir
1
260
Transcript
͘͞͠Θ͔Δ.77. @kazu0620
ࣗݾհ ɾࡔຊ େ( @kazu0620 ) ɾݩʑιʔγϟϧήʔϜͷ։ൃͳͲ ɾ2015 Sansanೖࣾ ɾEightࣄۀ෦ʹͯiOSΞϓϦͷ։ൃΛ୲
ࠓ͓͢Δ͜ͱ .77.ͷ.77.͕ͦΕͧΕͲ͏͍͏ׂ͔ʹ ίʔυྫʹ3Y4XJGUΛͬͯΔ͕ɺͦͪΒ৮Γ͚ͩ
Γ͍ͨ͜ͱ 6*ͱϩδοΫσʔλ Λ៉ྷʹ͚͍ͨ
ͦΕɺ.7$͡ΌμϝͳΜʁ
ผʹྑ͍
͚Ͳɺਏ͍͜ͱ͋Δ
7JFX$POUSPMMFSBT.FEJBUPS 7JFX$POUSPMMFS.PEFMͷॲཧΛݺͼग़͢ 7JFX$POUSPMMFS݁ՌΛ$BMMCBDL௨Ͱड͚औΔ 7JFX$POUSPMMFS݁ՌΛݩʹ7JFXͷঢ়ଶΛૢ࡞ 7JFX$POUSPMMFSͷதͰ6*ͱϩδοΫ͕ࠞ͟Γ͕ͪ
͏ͪΐͬͱྑ͍ײ͡ʹ 6*ͱϩδοΫσʔλ Λ៉ྷʹ͚͍ͨ
ViewModel Model Presentation Logic Domain Logic (And Data) View ViewController
UI UI .77.
ࡶͳΠϯΫϦϝϯλϧαʔνͰߟ͑Δ
7JFXͷΛͲ͏ͬͯ࡞Δ͔ʁ 7JFXࢹ͔Β7JFX.PEFMΛݟͯߟ͑Α͏
None
None
None
None
None
7JFX$POUSPMMFSͷ࣮
7JFX$POUSPMMFSͷ࣮
7JFX$POUSPMMFSͷ࣮ ೖྗ͞Εͨ5FYUΛ7JFX.PEFMʹ͑Δ
7JFX.PEFM͔ΒΘΔ Λը໘ʹө͢Δ͚ͩ %BUB#JOEJOH
7JFX͕Δ͜ͱ ɾϩδοΫ࣋ͨͣͨͩ6*Λఆٛ͢Δ ɾϢʔβʔ͔Βͷૢ࡞Λ7JFX.PEFMʹ͑Δ ɾ7JFX.PEFM͔Βड͚औͬͨΛ7JFXʹө͢Δ ɾ ը໘ભҠͷॲཧ 7JFX͕Βͳ͍͜ͱ ɾϞσϧσʔλΛ7JFX͕ૢ࡞͢Δ͜ͱͳ͍
None
7JFX.PEFMͷ֊ΛͲ͏ͬͯ࡞Δ͔ʁ 7JFX.PEFMࢹ͔Βݟͯߟ͑Α͏
None
None
None
None
None
None
7JFX.PEFMͷ࣮
7JFX.PEFMͷ࣮ 7JFXʹެ։͢ΔϓϩύςΟΛఆٛ
None
.PEFMʹॲཧΛґཔ
.PEFMʹॲཧΛґཔ ݁ՌΛ7JFXͷ߹ʹ߹Θͤͨܗʹมͯ͋͛͠Δ
7JFX.PEFM͕Δ͜ͱ ɾ.PEFMʹυϝΠϯϩδοΫʹؔ͢ΔॲཧΛґཔ ɾ.PEFMͷ࠷৽ͷΛɺදࣔͷ߹ʹ߹Θͤͨܗʹ͢Δ 7JFX.PEFM͕Βͳ͍͜ͱ ɾυϝΠϯϩδοΫɾσʔλͷૢ࡞ͳͲ.PEFMʹ ͤΔ
None
.PEFMͷ࣮
.PEFM͕Δ͜ͱ ɾΞϓϦݻ༗ͷσʔλϏδωεϩδοΫΛఆٛ ɾ.PEFMͷׂଞͷ.7YͱಛʹมΘΒͳ͍ͣ .PEFM͕Βͳ͍͜ͱ ɾ7JFX 6* ʹؔ͢Δૢ࡞વߦΘͳ͍
͓͞Β͍
None
None
.77.ͷྑ͞ ɾ.77.Ͱɺ6*ͱϩδοΫͯ͠ݟ௨͠Α͘ॻ͘͜ͱ͕Ͱ͖Δ ɾ6*ͱϩδοΫ͕͞ΕΔͷͰɺςετ͘͢͠ͳΔ ɾσʔλόΠϯσΟϯάΛར༻ͯ͠ɺૄ݁߹ͳ࣮Λ࣮ݱͰ͖Δ