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
CQRSをモバイルに適用してみる
Search
Shinnosuke Kugimiya
April 20, 2016
Programming
6
2.9k
CQRSをモバイルに適用してみる
potatotips #28での発表内容です。
まだ試行錯誤中ですが、考えをまとめてみました。
Shinnosuke Kugimiya
April 20, 2016
Tweet
Share
More Decks by Shinnosuke Kugimiya
See All by Shinnosuke Kugimiya
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
780
15分で分かった気になる dumpsys
kgmyshin
1
220
UIテストはもうMaestroでいいのかもしれない話
kgmyshin
28
13k
新規開発を始めるときにやるべきこと
kgmyshin
19
8.9k
android app error handling
kgmyshin
1
1.5k
solid+cqs+dry
kgmyshin
35
10k
Paging Library ~ アイテムの更新 ~
kgmyshin
2
3.3k
KotlinでReact Native(expo) を使いたい
kgmyshin
2
1.1k
新規チームで新規開発を始める時にやること
kgmyshin
40
9.2k
Other Decks in Programming
See All in Programming
tsconfigのオプションで変わる型世界
keisukeikeda
1
130
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
130
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
140
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
2
270
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
7
1.6k
Passkeys for Java Developers
ynojima
0
170
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.4k
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
670
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
670
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
The Cult of Friendly URLs
andyhume
78
6.4k
Writing Fast Ruby
sferik
628
61k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠