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
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
今から始めるClaude Code超入門
448jp
8
8.9k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
740
Architectural Extensions
denyspoltorak
0
290
CSC307 Lecture 08
javiergs
PRO
0
670
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
Oxlint JS plugins
kazupon
1
970
CSC307 Lecture 05
javiergs
PRO
0
500
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Embracing the Ebb and Flow
colly
88
5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Accessibility Awareness
sabderemane
0
52
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Abbi's Birthday
coloredviolet
1
4.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Optimizing for Happiness
mojombo
379
71k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
190
Documentation Writing (for coders)
carmenintech
77
5.3k
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?