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
DDD + Flux?
Search
Amagi
September 08, 2015
13
5k
DDD + Flux?
Amagi
September 08, 2015
Tweet
Share
More Decks by Amagi
See All by Amagi
Enchant your website with VFX-JS
fand
0
120
How to hack VS Code: evil ways (Japanese)
fand
5
3.6k
READY FOR THE BATTLE? -Introduction to Live Coding-
fand
1
530
GLSL PostEffect in TouchDesigner
fand
2
2k
VEDA GLSL Livecoding workshop
fand
2
5.3k
PWA 方法 無料 今すぐ
fand
3
1.5k
Have you ever heard GPUs cry?
fand
2
3.8k
Real World GLSL
fand
0
270
APIs for VJ-ing
fand
1
6.9k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Unsuck your backbone
ammeep
671
58k
Facilitating Awesome Meetings
lara
55
6.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Music & Morning Musume
bryan
46
6.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
DDD + Flux? @amagitakayosi
Implementing Domain Driven Design
ͱࢥͬͨ͜ͱΛհ͠·͢ 㵺㱿㵺 ɻP 'MVYͰʁ
Flux
%JTQBUDIFS $PNQPOFOU 4UPSF "DUJPO %BUB Flux
%JTQBUDIFS $PNQPOFOU #BS"DUJPO 'PP4UPSF 'PP 'PP"DUJPO #BS4UPSF #BS Store͕૿͑Δͱ…
DDD
Domain-Driven Design • ϏδωεϩδοΫΛυϝΠϯʹׂ • ΞϓϦέʔγϣϯ = υϝΠϯͷू߹ • ϩδοΫͱ࣮ͷΛॏࢹ
%JTQBUDIFS $PNQPOFOU #BS"DUJPO 'PP4UPSF 'PP 'PP"DUJPO #BS4UPSF #BS Store͕૿͑Δͱ…
%JTQBUDIFS $PNQPOFOU #BS"DUJPO 'PP4UPSF 'PP 'PP"DUJPO #BS4UPSF #BS Store͕૿͑Δͱ… $PNQPOFOU
%JTQBUDIFS $PNQPOFOU #BS"DUJPO 'PP4UPSF 'PP 'PP"DUJPO #BS4UPSF #BS $PNQPOFOU FooυϝΠϯ
BarυϝΠϯ
#SPXTFS React 4FSWFS
Store "1* %#
Store "1* %# 4FSWJDF4UPSF্Ͱ࣮͢Δʂʂʂ
CQRS
Command Query Responsibility Segregation • ༁͢ΔͱʮίϚϯυΫΤϦʯ • ίϚϯυ : ঢ়ଶΛมߋ͢Δ
• ΫΤϦ : ঢ়ଶΛऔಘ͢Δ • ঢ়ଶͷऔಘํ๏Λ੍ݶ͠ɺߟ͑ΔࣄΛݮΒ͢
FluxͱCQRS • Action ≒ Command ? • Storeɺߋ৽ͷͳ͍ActionΛແࢹ͢Δ • Store.getState()
≒ Query ? • StoreΛมߋ͢Δͷ !
Flux
4UPSF "DUJPO %JTQBUDIFS $PNQPOFOU .PEFM
Flux
Flux
Event Sourcing
EventSourcing • ूΛΠϕϯτͷγʔέϯε͔Β࡞Δ • ݱࡏͷঢ়ଶ = ॳظঢ়ଶ + Πϕϯτ •
CommandͷΈอଘ͢Εྑ͍ • ActionΛه͍ͯ͠Ε͓̺
DispatcherͰهͯ͠ΈΔ • facebook/flux ͷ Dispatcher Λ֦ு • Πϕϯτͱ࣌ࠁΛه • replayػೳ
None
None
σϞ http://gmork.in/rec-act/
·ͱ Ί
·ͱΊ • Store = υϝΠϯͱ࣮Λͭͳ͙ϙʔτ • EntityStoreʹஔ͘ • ReduxͩͱEntity࣋ͪʹ͍͘ •
ΈΜͳͰStoreߏԽͯ͜͠ʂʂʂʂ