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
Network Layer Abstraction
Search
Swift India
February 29, 2020
Technology
0
160
Network Layer Abstraction
Swift India
February 29, 2020
Tweet
Share
More Decks by Swift India
See All by Swift India
Efficient JSON to Object Parsing
swiftindia
0
130
Sign In with Apple
swiftindia
0
130
Furlenco's AR Journey
swiftindia
0
120
Image processing using Core Image and Metal
swiftindia
0
210
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
240
Social in Hotstar
swiftindia
0
240
Improving App Launch Time
swiftindia
1
100
Backend Driven UIs
swiftindia
0
130
Introduction to AsyncDisplayKit / Texture
swiftindia
0
150
Other Decks in Technology
See All in Technology
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
170
ガチな登山用デバイスからこんにちは
halka
1
240
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.1k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
110
エラーとアクセシビリティ
schktjm
1
1.2k
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
220
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
11
4.6k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
It's Worth the Effort
3n
187
28k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Scaling GitHub
holman
463
140k
Gamification - CAS2011
davidbonilla
81
5.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
GitHub's CSS Performance
jonrohan
1032
460k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Faster Mobile Websites
deanohume
309
31k
Transcript
Rakesh Chander - Comviva Technologies NETWORK LAYER ABSTRACTION • Interceptors
• Validators • Dependency Injection
Rakesh Chander - Comviva Technologies Problem Statement – Common Request
/ Response operations – Serialization / Deserialization – Bearer Token Management – End to End Encryption – Testable Code
Rakesh Chander - Comviva Technologies Unfolding – Common code templates
& patterns – Generics – Abstraction – Over-riding behavior – Dependency Injection
Rakesh Chander - Comviva Technologies Interceptors ▪ Interceptors are a
powerful mechanism that can pre-process or post-process a request
Rakesh Chander - Comviva Technologies Interceptors (Request Header Definition)
Rakesh Chander - Comviva Technologies Interceptors (Request Body Definition)
Rakesh Chander - Comviva Technologies Interceptors (Response Body Definition)
Rakesh Chander - Comviva Technologies Interceptors (Usage)
Rakesh Chander - Comviva Technologies Validators ▪ Serialization / Deserialization
▪ Fallback Mechanism ▪ Common Error Generation ▪ Bearer Token Management
Rakesh Chander - Comviva Technologies Adoption ▪ API call can
be declared using structs, its simple ▪ Implement Protocols for required Request Type viz GET, POST, PUT, DELETE etc
Rakesh Chander - Comviva Technologies Adoption (Overriding defaults)
Rakesh Chander - Comviva Technologies Adoption (Execution)
Rakesh Chander - Comviva Technologies Conclusion ▪ Increased Productivity ▪
Lesser error scenarios
Rakesh Chander - Comviva Technologies Dependency Injection ▪ Multiple Network
Clients ▪ Unit Tests
Rakesh Chander - Comviva Technologies Dependency Injection (Network Client Implementation)
Rakesh Chander - Comviva Technologies Dependency Injection (Network Client Mock)
Rakesh Chander - Comviva Technologies Summary Scalable, Maintainable, Reusable &
Testable Interceptors – Wrappers, Parsers, End to End Encryption Validators – Serialization/ Deserialization, Fallback Response DAO, Token Management
Rakesh Chander - Comviva Technologies Try It Out! ▪ https://github.com/rakeshchander/RCNetworkClient