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
83
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
72
Data driven view controllers
vmalakhovskiy
0
430
Cocoaheads #13
vmalakhovskiy
0
43
MadCode 13 Webinar
vmalakhovskiy
0
50
Developing apps for Apple Watch
vmalakhovskiy
0
71
Why do you need to switch from Obj-C to Swift, or let's talk about ReactiveCocoa v4
vmalakhovskiy
0
510
Other Decks in Programming
See All in Programming
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
CSC307 Lecture 15
javiergs
PRO
0
240
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
240
Windows on Ryzen and I
seosoft
0
240
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
250
Claude Code Skill入門
mayahoney
0
170
How to stabilize UI tests using XCTest
akkeylab
0
110
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
550
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
120
Codex の「自走力」を高める
yorifuji
0
1.1k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
My Coaching Mixtape
mlcsv
0
69
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
How to Talk to Developers About Accessibility
jct
2
150
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
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?