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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shinnosuke Kugimiya
April 20, 2016
Programming
3k
6
Share
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.3k
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
1.4k
15分で分かった気になる dumpsys
kgmyshin
1
330
UIテストはもうMaestroでいいのかもしれない話
kgmyshin
28
13k
新規開発を始めるときにやるべきこと
kgmyshin
19
9.2k
android app error handling
kgmyshin
1
1.5k
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
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
230
実用!Hono RPC2026
yodaka
2
250
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
170
Angular Signal Forms
debug_mode
0
120
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
0
420
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
150
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
790
tRPCの概要と少しだけパフォーマンス
misoton665
2
230
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
170
実践CRDT
tamadeveloper
0
590
Vibe NLP for Applied NLP
inesmontani
PRO
0
460
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
210
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
890
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
280
Accessibility Awareness
sabderemane
1
100
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Deep Space Network (abreviated)
tonyrice
0
120
For a Future-Friendly Web
brad_frost
183
10k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠