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
Unidirectional Data Flow in ReSwift
Search
Masato Oshima
February 09, 2016
Programming
1.6k
0
Share
Unidirectional Data Flow in ReSwift
Kyobashi.swift #1
Masato Oshima
February 09, 2016
More Decks by Masato Oshima
See All by Masato Oshima
ECSからEKSへの移行への移行事例の紹介
mpon
6
3.8k
APIがある外部サービスはTerraformで管理できますよ
mpon
12
7.3k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
6.9k
AWS Fargateで得する人損する人
mpon
3
6.2k
kubernetes-meetup-4
mpon
2
2.6k
DDD Practice in iOS
mpon
0
470
Swift compile time is so slow
mpon
3
5.7k
Fight Xcode Project with Golang
mpon
1
2.9k
iPad Multi Taking
mpon
0
130
Other Decks in Programming
See All in Programming
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
810
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
160
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
140
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
240
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
210
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.8k
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
310
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Odyssey Design
rkendrick25
PRO
2
560
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
How to Ace a Technical Interview
jacobian
281
24k
The Spectacular Lies of Maps
axbom
PRO
1
670
Deep Space Network (abreviated)
tonyrice
0
100
Technical Leadership for Architectural Decision Making
baasie
3
310
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Exploring anti-patterns in Rails
aemeredith
3
300
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Unidirectional Data Flow in ReSwift @_mpon Kyobashi.swift #1
Masato Oshima github.com/mpon @_mpon ಢݝ๕լ܊ग़ iOS Developer
None
None
DDoommaaiinn DDrriivveenn DDeessiiggnn
͋Δͷ4MBDL
ͱ͍͏͜ͱͰ 3F4XJGU ΛௐͯΈΔ
ҰఆํͷΈͷσʔλϑϩʔJO4XJGU 3FEVY͔ΒΠϯεύΠΞ͞Εͨ
3FEVY
b`3FEVYJTBOBMUFSOBUJWF PSBWBSJBUJPOPGUIF qVYGSBNFXPSL``
'MVY
b`'MVYJTUIFBQQMJDBUJPO BSDIJUFDUVSFUIBU'BDFCPPLVTFT GPSCVJMEJOHDMJFOUTJEFXFC BQQMJDBUJPOT``
ҰఆํͷΈͷσʔλϑϩʔ 4UPSFࣗࣗΛॻ͖͑Δ
+BWB4DSJQUΞϓϦέʔγϣϯͷͨΊͷϑϨʔ ϜϫʔΫɻ'MVYΛਐԽͤͯ͞ෳࡶੑΛճආ͠ Α͏ͱ͍ͯ͠Δɻ
3FEVYͱಉ͡ߏ
4UPSFΞϓϦέʔγϣϯ ͷ4UBUFΛཧ͍ͯ͠Δɻ "DUJPO4UPSFͷ4UBUFΛ มߋ͢ΔͨΊͷએݴ͕ॻ ͔Ε͍ͯΔɻ 3FEVDFS"DUJPOΛड͚ औͬͯ৽͍͠4UBUFΛฦ ͢ɻ
ϘλϯΛλοϓͨ͠ͱ͖ʹ"DUJPOΛੜͯ͠ɺ 4UPSFʹEJTQBUDI͢Δɻ
4UPSFड͚औͬͨ"DUJPOΛ3FEVDFSʹ ͢ɻ
3FEVDFS"DUJPOΛͱʹ৽͍͠4UBUF Λฦ͢ɻ
4UPSF৽͍͠4UBUFΛ4VCTDSJCF͍ͯ͠Δશ ͯͷ7JFXʹ௨͢Δɻ
None
7JFX$POUSPMMFS͕TUPSFΛTVCTDSJCF͢Δɻ
ϘλϯΛԡͨ͠ͱ͖ʹɺ"DUJPOΛੜͯ͠ɺ 4UPSFʹEJTQBUDI͢Δɻ
4UPSF"QQ%FMFHBUFͰͨͩͭଘࡏͯ͠શͯͷঢ়ଶΛ ཧ͍ͯ͠Δɻͦͯ͠ɺ4UPSF3FEVDFSΛ࣋ͪɺ3FEVDFS IBOEMF"DUJPOͱ͍͏ϝιουΛඞͣ࣋ͭɻ IBOEMF"DUJPO͖ͬ͞EJTQBUDI͞Εͨ"DUJPOͱݱࡏͷ TUBUFΛͱʹ৽͍͠"QQ4UBUFΛੜ͢Δɻ
3FEVDFS"DUJPOͷछྨʹΑͬͯॲཧΛߦ͍৽͍͠ TUBUFΛੜ͢ΔɻͱͷTUBUFΛมߋ͢Δ͜ͱ͠ ͳ͍ɻ
4UPSF͔Β৽͍͠TUBUF͕OPUJGZ͞ΕΔͷͰɺTUBUFΛ ͱʹɺϥϕϧͷදࣔΛߋ৽͢Δɻ
ΞϓϦ͕େ͖͘ͳ͖ͬͯͨ ͱ͖ʹ4UBUF͕େมͳ͜ͱʹ ͳΓͦ͏ʁ খ͞ͳมߋʹରͯ͠WJFXͷ ࠶ඳըͷύϑΥʔϚϯε Ͳ͏ͳΜͩΖ͏ʁ "OJNBUJPOͷ్தঢ় ଶཧ͢Δͷ͔ʁ
ࢀߟʹͨ͠αΠτ w IUUQTSFBMNJPOFXTCFOKJFOD[VOJEJSFDUJPOBMEBUBqPXTXJGU w IUUQGBDFCPPLHJUIVCJPqVYEPDTPWFSWJFXIUNM w IUUQTHJUIVCDPN3F4XJGU3F4XJGU w IUUQTHJUIVCDPNSBDLUSFEVY w
IUUQJOTJEFQJYJWOFUFOUSZ w IUUQRJJUBDPNLJJUBJUFNTBGCDGC
ReSwift ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ