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
Modular API Client
Search
naoty
August 17, 2016
Programming
1
390
Modular API Client
Kyobashi.swift #2
naoty
August 17, 2016
Tweet
Share
More Decks by naoty
See All by naoty
Repository pattern in Swift
naoty
3
6.1k
Timepiece
naoty
0
3.3k
Contribution to Rails
naoty
0
4.2k
久々のRailsプロジェクトで導入した開発環境
naoty
2
1.1k
Report of DIYish programming activity
naoty
1
190
How to build gems for Rails
naoty
1
130
Qiita/Kobito vs ?
naoty
0
180
Other Decks in Programming
See All in Programming
Building a Smaller App Binary
kateinoigakukun
2
220
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
14
3.5k
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
170
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
120
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
2.5k
Open Source Swift Workshop - Foundation and first party libraries
ikesyo
0
270
[スクリプト] Swiftの型推論を学ぼう
omochi
0
120
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
GitHub Copilot Tips and Tricks
yuichielectric
26
7.5k
Laravel標準バリデーションでできること
hmb_ok
2
360
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.3k
Debugging Ruby Performance
tmm1
68
11k
Unsuck your backbone
ammeep
661
56k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
The Cult of Friendly URLs
andyhume
73
5.6k
Building Applications with DynamoDB
mza
88
5.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Designing for Performance
lara
601
67k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.5k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Transcript
Naoto Kaneko Modular API Client 2016/08/17 Kyobashi.swift #2
None
௨৴·ΘΓࡶ w ϦΫΤετͷૹड৴ɺ͓ΑͼΤϥʔϋϯυϦϯά w ϦΫΤετͷγϦΞϥΠζɺϨεϙϯεͷσγϦΞϥΠζ w ΞΫηετʔΫϯΛϔομʔʹ༩ɺظݶΕͷ߹ϦϑϨογϡτʔΫϯͰ࠶ ൃߦ w ωοτϫʔΫΠϯδέʔλͷΦϯʗΦϑ
w ೋॏૹ৴ͷࢭ w ϩΪϯά w ύϑΥʔϚϯεܭଌ w FUDʜ
Ͳ͜ʹ࣮͢Δ͔ w "1*$MJFOUTXJGU w 7JFX$POUSPMMFSTXJGU
Ͳ͜ʹ࣮͢Δ͔ w "1*$MJFOUTXJGU ˠաଟ w 7JFX$POUSPMMFSTXJGU ˠίʔυͷॏෳɺංେԽ
.PEVMBS"1*$MJFOU w ෳͷʮҰͭͷ͜ͱΛ͏·͘ΔʯΦϒδΣΫτ͔ Βߏ͞ΕΔ"1*ΫϥΠΞϯτ w ػೳΛՃ͍͢͠ w ςετ͍͢͠
Modular API Client Request Response
API Client Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
Middleware 1 → 2 → 3 → API Client → 3 → 2 → 1
None
None
None
w ॳظԽ͕ͳॻ͖ํʹͳͬͯ͠·͏ w ඞཁͳϛυϧΣΞͷηοτ͍͍ͩͨಉ͡ w ϛυϧΣΞͷηοτʹΞΫηεͰ͖ͳ͍
None
w ϛυϧΣΞͷηοτΛελοΫͱͯ͠ѻ͏ w σϑΥϧτͰඞཁͳελοΫΛॳظԽͰ͖ΔΑ͏ʹ ͯ͠؆ܿԽ
·ͱΊ w ௨৴·ΘΓͷॲཧࡶ ˠ֤ॲཧΛϛυϧΣΞͱ࣮ͯ͢͠Δ͜ͱͰ"1* ΫϥΠΞϯτΛখ͘͞อͭ w খ͍͞ϛυϧΣΞ܈͔Β"1*ΫϥΠΞϯτΛߏங ͢Δͷ͕໘ ˠελοΫʹଋͶΔ͜ͱͰ؆୯͔ͭॊೈʹॳظԽͰ ͖ΔΑ͏ʹ͢Δ
ৄࡉͪ͜Β IUUQOBPUZIBUFOBCMPHDPNFOUSZ