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
280
APIs for VJ-ing
fand
1
6.9k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
A Tale of Four Properties
chriscoyier
160
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Writing Fast Ruby
sferik
628
62k
A Modern Web Designer's Workflow
chriscoyier
696
190k
The Cult of Friendly URLs
andyhume
79
6.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
We Have a Design System, Now What?
morganepeng
53
7.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
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ߏԽͯ͜͠ʂʂʂʂ