Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CQRSをモバイルに適用してみる
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinnosuke Kugimiya
April 20, 2016
Programming
3k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CQRSをモバイルに適用してみる
potatotips #28での発表内容です。
まだ試行錯誤中ですが、考えをまとめてみました。
Shinnosuke Kugimiya
April 20, 2016
More Decks by Shinnosuke Kugimiya
See All by Shinnosuke Kugimiya
Claude Code x Androidアプリ 開発
kgmyshin
1
2.7k
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
1.4k
15分で分かった気になる dumpsys
kgmyshin
1
380
UIテストはもうMaestroでいいのかもしれない話
kgmyshin
28
14k
新規開発を始めるときにやるべきこと
kgmyshin
19
9.3k
android app error handling
kgmyshin
1
1.6k
solid+cqs+dry
kgmyshin
35
10k
Paging Library ~ アイテムの更新 ~
kgmyshin
2
3.5k
KotlinでReact Native(expo) を使いたい
kgmyshin
2
1.2k
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
290
Heart of Swift Concurrency
koher
0
950
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
370
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2.5k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
150
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
840
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
460
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
450
SREの越境 / SRE Collaboration
y0hgi
2
260
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
530
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
700
Building the Perfect Custom Keyboard
takai
2
880
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Making Projects Easy
brettharned
120
6.8k
Between Models and Reality
mayunak
4
460
For a Future-Friendly Web
brad_frost
183
10k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
New Earth Scene 8
popppiees
4
2.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
Scaling GitHub
holman
464
140k
Transcript
CQRSͷߟ͑ํΛ ϞόΠϧʹద༻ͯ͠ΈΔ (ࢼߦࡨޡத) potatotips #28
CQRSͱʁ
Command and Query Responsibility Segregation ίϚϯυΫΤϦ
Command and Query Separation ίϚϯυΫΤϦ ϝιουϨϕϧͰίϚϯυͱΫΤϦΛ ͚Α͏ͱ͍͏ߟ͑
CQRSCQSΛઃܭϨϕϧʹ ΈࠐΜͩͷ
Α͋͘Δͨͱ͑ Bertrand Meyerʮ͋ΒΏΔϝιουɺΞΫγϣϯ Λ࣮ߦ͢ΔίϚϯυ͔ɺݺͼग़͠ݩʹσʔλΛฦ͢ ΫΤϦ͔ͷ͍ͣΕ͔Ͱ͋ͬͯɺ྆ํΛߦͬͯͳΒ ͳ͍ɻ͜Εɺ࣭Λ͢Δ͜ͱͰճΛมԽͤͯ͞ ͳΒͳ͍ͱ͍͏͜ͱͩɻʯ ఝٶʮGETϝιουͷதͰUPDATE͢ΔͳΈ͍ͨͳʯ
CommandଆͱQueryଆʹ ͚ΔͱԿ͕͋Γ͕͍͔ͨʁ
ҙ ׂͱීஈޠΒΕΔCQRSEvent Sourcing͋Γ͖Ͱ ޠΒΕ·͢ ͨͩɺEvent SourcingϞόΠϧͷઃܭʹ ߹Θͳ͍ͷͰͦΕൈ͖Ͱ͠·͢ ৄ͍࣌ؒ͠ͳ͍ͷͰɺׂѪ
ͦͦCommandଆͱQueryଆ ߟ͑Δ͜ͱ͕݁ߏҧ͏ɻ
؆୯ͳFeedܥͷΞϓϦΛ࡞Ζ͏ͱͯ͠ɺ هࣄҰཡͱ͔هࣄৄࡉαΫαΫ࡞Εͯ ͳ͔ͳ͔៉ྷͳઃܭͩͬͨͷʹɺ POSTͳϝιουΛݺͿػೳೖΕ్ͨɺ શମͷઃܭ͔Β౷Ұੑ͕ফ͑ͨ͜ͱ͋Γ·ͤΜ͔ʁ ͋Δ͋Δʁ
͡Ί͔Β CommandଆͱQueryଆΛ͚ͯߟ͑Δͱ ͦ͏͍͏൵͔ܶΒٹΘΕΔ
3PVUFS ྫ͑͜Μͳײ͡ (WIP) Read Command Command binding %PNBJO Observable/ Promise(DTO)
7JFX.PEFM Feedback 6* JOGSBTUSVDUVSF
Commandଆ - ඇಉظ௨৴ - υϝΠϯ - Feedbackͷํ๏ ΒΜΛ͔ͬ͠Γߟ͑ͯΕ ͳΜͰ͍͍ͱࢥ͏ɻ JOGSBTUSVDUVSF
3PVUFS Command %PNBJO Feedback 6*
None
None
binding Observable/ Promise(DTO) 7JFX.PEFM 6* Readଆ(Ͳ͏Ͱྑ͍) Readଆ࠷ѱɺ Smart UI Anti
Patternʹ ͯ·ͬͯ ͦΜͳʹมͳ͜ͱͳΒͳ͍ JOGSBTUSVDUVSF
None
͜͏͢Δ͜ͱͰ݁ߏઃܭ͕εοΩϦ͢Δ
ͨͩ͠ɺ͜͏͍͏ཁ݅ʹ߹Θͳ͍ • ΫΠζܥ • ήʔϜܥ Read͖ͯͨ͠ͷΛॾʑՃͨ͠Γ͢Δܥ
binding Observable/ Promise(DTO) 7JFX.PEFM 6* JOGSBTUSVDUVSF binding 7JFX.PEFM 6* JOGSBTUSVDUVSF
%PNBJO ͜͜ʹϩδοΫΛೖΕͨΓೖΕͳ͔ͬͨΓͰΉ
·ͱΊ
• ReadଆɺCommandଆͰઃܭΛߟ͑ΔͱεοΩϦ͢Δ • Readଆ͕ෳࡶͳ߹߹Θͳ͍͔͠Εͳ͍
༡ΜͰΔͷͰ͋·ΓࢀߟʹͳΒͳ͍͔͚ͩͲɺαϯϓϧ https://github.com/kgmyshin/esa-android
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠