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
Data processing components architecture in mobi...
Search
vmalakhovskiy
October 31, 2015
Programming
0
81
Data processing components architecture in mobile applications
This slides will briefly show you about 2 most used data access layer designs in mobile application
vmalakhovskiy
October 31, 2015
Tweet
Share
More Decks by vmalakhovskiy
See All by vmalakhovskiy
Engineering team best friend - CI/CD
vmalakhovskiy
0
68
Data driven view controllers
vmalakhovskiy
0
420
Cocoaheads #13
vmalakhovskiy
0
42
MadCode 13 Webinar
vmalakhovskiy
0
48
Developing apps for Apple Watch
vmalakhovskiy
0
63
Why do you need to switch from Obj-C to Swift, or let's talk about ReactiveCocoa v4
vmalakhovskiy
0
500
Other Decks in Programming
See All in Programming
Namespace and Its Future
tagomoris
6
690
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
250
tool ディレクティブを導入してみた感想
sgash708
1
160
🔨 小さなビルドシステムを作る
momeemt
3
650
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
190
1から理解するWeb Push
dora1998
2
650
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
15
7k
Improving my own Ruby thereafter
sisshiki1969
1
150
TDD 実践ミニトーク
contour_gara
1
280
時間軸から考えるTerraformを使う理由と留意点
fufuhu
10
3.9k
Honoアップデート 2025年夏
yusukebe
1
900
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
320
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Practical Orchestrator
shlominoach
190
11k
Navigating Team Friction
lara
189
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How GitHub (no longer) Works
holman
315
140k
Transcript
Data processing components architecture in mobile applications Malakhovskyi Vitalii iOS
Developer @
Why?
Can we talk about architecture? OИ
Benefits: - you know what to do - code review
- it saves your time - better code
The type of application you are building: Business Logic CRUD
Active Record Data Mapper
Active Record
id name surname 1 Vasya Bananoshvili 2 Evgen Lypan
Active Record Instance - create - save - delete -
findBy - validate - work - firstName - lastName
None
Domain Data Presentation View Model
Advantages: - easy to use - easy to implement
Disadvantages: - violates SRP - hard to unit test
Data Mapper
Business Object - firstName - lastName - middleName
Antenna Antenna Adapter Cloud Adapter Magic Adapter Application How it
works? Cloud Magic
Data Access Object or Data Mapper Data Mapper Instance Data
Source Parser Application < CRUD > JSON Serializer JSON Object JSON Object Object
None
Database Mapper Network Mapper Mapper with strategy ? Strategy
Magic Mapper Mapper Repository Parser / Serializer Cloud Mapper Antenna
Mapper Parser / Serializer Parser / Serializer
Advantages: - separation of concerns - allows easy unit testing
Disadvantages: - adds another layer of abstraction
None
Conclusion Data mapper better Active Record Active Record better Data
mapper
“Architecture is about intent, not frameworks” - Robert C. Martin
Thank you!
Contact me: purpleshirted crimsongf Vitaliy Malakhovskiy
1. Martin Fowler - Presentation Domain Data Layering http://martinfowler.com/bliki/PresentationDomainDataLayering.html 2.
Active Record vs. Data Mapper http://culttt.com/2014/06/18/whats-difference-active-record-data-mapper/ 3. The Clean Architecture http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html What to read?