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
68
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
Oxlint JS plugins
kazupon
1
970
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
300
Raku Raku Notion 20260128
hareyakayuruyaka
0
310
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
140
AgentCoreとHuman in the Loop
har1101
5
240
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Basic Architectures
denyspoltorak
0
680
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 07
javiergs
PRO
0
550
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
Side Projects
sachag
455
43k
For a Future-Friendly Web
brad_frost
182
10k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
My Coaching Mixtape
mlcsv
0
48
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
The untapped power of vector embeddings
frankvandijk
1
1.6k
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?