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
ViewModelはデザインパターンの夢を見るか
Search
Edward Fox
October 13, 2016
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ViewModelはデザインパターンの夢を見るか
20161013
Meguro.es @ Drecom
http://meguroes.connpass.com/event/32167/
Edward Fox
October 13, 2016
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
810
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
edwardkenfox
0
130
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
630
Repro basketball club
edwardkenfox
0
290
Introduction to UX Optimizer
edwardkenfox
0
150
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
370
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
180
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
510
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.2k
Other Decks in Technology
See All in Technology
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
250
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
140
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
550
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
210
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
130
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
270
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
840
200個のGitHubリポジトリを横断調査したかった
icck
0
110
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
150
Android の公式 Skill / Android skills
yanzm
0
130
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
400
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Become a Pro
speakerdeck
PRO
31
6k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Transcript
ViewModelσβΠϯ ύλʔϯͷເΛݟΔ͔ EDWARD FOX @Meguro.es 2016/10/13
Edward Fox - Developer @ Repro Inc. - RoR, JavaScript,
AWS - Vue.js 2.0, WebAssembly
repro.io ϞόΠϧΞϓϦ͚ ϚʔέςΟϯάπʔϧ
ϑϩϯτΤϯυʢVue.jsʣ ͱ όοΫΤϯυʢRailsʣ ͷ࣮ͬͯ·͢
ࠓ͢͜ͱ ϑϩϯτΛ։ൃ͍ͯ͠ΔதͰ ߟ͑ͨViewModelͷઃܭ ʹ͍ͭͯ
ࠓ͞ͳ͍͜ͱ - ಛఆͷϥΠϒϥϦͷ ࣮ڍಈ - αϯϓϧίʔυ θϩ
σβύλྑ͍
- ͷׂ - Մಡੑ - ڞ௨ͷޠኮΛఏڙ
ϑϩϯτͷϑϨʔϜϫʔΫ ϥΠϒϥϦʹύλʔϯ ͷద༻͕ଟ͘ݟΒΕΔ
1. jQuery େ͖ͳFacadeύλʔϯ
None
2. MVVMϑϨʔϜϫʔΫ Observerύλʔϯ (Pub-Subύλʔϯ)
None
όοΫΤϯυͷ࣮Λ ݟΔͱɺ༷ʑͳύλʔϯ͕ ద༻͞Ε͍ͯΔ
ϞσϧʗΫϥεɺςʔϒϧ ߏͱͳΔ͘߹கͨ͠ ϑϩϯτઃܭʹ͍ͨ͠
ߴ·ΔViewModel ίϯϙʔωϯτͷ σβύλద༻ͷػӡ
ͬͯΈͨ ը૾͖ͭϝοηʔδ ࡞ը໘
None
- ϝοηʔδͷछྨ͕બ Δ - ϓϨϏϡʔͷOS͕Γ ସ͑ΒΕΔ - ϓϨϏϡʔͷॎԣදࣔ ͕Γସ͑ΒΕΔ
1ͭ1ͭͷίϯϙʔωϯτ Λখ͘͢͞ΔͨΊʹ ׂͯ͢
༩͑ΒΕͨೖྗΛݩʹ ҟͳΔVueίϯϙʔωϯτ Λੜ͢Δ FactoryύλʔϯͬΆ͍ ࣮
None
݁Ռ
Πϕϯτࠈ
͞·͟·ͳίϯϙʔωϯτ ʹঢ়ଶ͕·͕ͨΓɺ Πϕϯτ͕ແடংʹ ඈͼ߹͏
ཁ݅ͷมߋʹ ͍͍͚ͭͯͳ͍੬͍࡞Γ
ViewModelͷσʔλ × UI্ͷૢ࡞ʹجͮ͘ঢ়ଶ × ίϯϙʔωϯτؒͷΠϕϯτ
ෳࡶੑֻ͚ࢉʹͳΔ
ViewModelʹ ద͍ͯ͠Δύλʔϯͱ ͋·Γద͞ͳ͍ύλʔϯ ͕͋Δؾ͕ͯ͘͠Δ
͋·Γద͞ͳ͍ = ෳࡶੑͱϝϯςφϯεੑ͕ Γ߹Θͳ͍
(ͪΖΜέʔεόΠέʔε)
A. ద͍ͯ͠Δύλʔϯ
- Observer - State - Messenger ͳͲ
= ৼΔ͍ʹجͮ͘ ύλʔϯ
͋·Γద͞ͳ͍ύλʔϯ
- Factory / AbstractFactory - Builder ͳͲ
= ΦϒδΣΫτͷੜʹ جͮ͘ύλʔϯ
০తͳݟͨଐੑɺ ࡉ͔͍ৼΔ͍͕มΘΔ ͜ͱ͋ͬͯɺͦͷ ΠϯλʔϑΣʔεΛ௨ͯ͠ Ϣʔβʔ͕࣮ݱ͍ͨ͜͠ͱ େ͖͘มΘΒͳ͍
ΠϯλʔϑΣʔε ͷཻͰViewModelΛׂ ͨ͠ΓɺৼΔ͍ʹ ج͍ͨύλʔϯΛద༻͢Δ
࠷ۙͷέʔε Ϣʔβʔநग़ϑΟϧλʔ ػೳͷ࣮
None
None
None
݁Ռ
- ෳࡶੑݸผͷ ίϯϙʔωϯτʹดͨ͡ - ཁ݅ͷมߋʹॊೈ ʹͳͬͨ
σϝϦοτ ݸʑͷίϯϙʔωϯτ͕ ϑΝοτʹ
·ͱΊ
ϑϩϯτͷઃܭʹ͓͍ͯɺ ViewModelͷׂ୯Ґͱ ద༻͢ΔύλʔϯͷؔΛ Α͘ߟ͑Δ
ΠϯλʔϑΣʔε ৼΔ͍ʹجཻͮ͘ Ͱߟ͑Δ
ࠓޙ
fluxΞʔΩςΫνϟͱ ΦϒδΣΫτࢦͷ ϓϥΫςΟεʹ͍ͭͯ ߟ͍͑ͨ
Thank you!