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
430
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.4k
Timepiece
naoty
0
3.7k
Contribution to Rails
naoty
0
4.4k
久々のRailsプロジェクトで導入した開発環境
naoty
2
1.2k
Report of DIYish programming activity
naoty
1
290
How to build gems for Rails
naoty
1
180
Qiita/Kobito vs ?
naoty
0
210
Other Decks in Programming
See All in Programming
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.3k
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
440
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
110
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
260
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
270
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
830
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
220
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
280
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Claude Code Skill入門
mayahoney
0
340
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
380
Typedesign – Prime Four
hannesfritz
42
3k
The Cult of Friendly URLs
andyhume
79
6.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
[SF Ruby Conf 2025] Rails X
palkan
2
830
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Darren the Foodie - Storyboard
khoart
PRO
3
2.8k
Making Projects Easy
brettharned
120
6.6k
WCS-LA-2024
lcolladotor
0
480
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