Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Архитектура. Обзор
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
DAloG
November 20, 2014
Programming
260
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Архитектура. Обзор
DAloG
November 20, 2014
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
250
Redux + MQTT
dalog
1
840
От задач к проблемам
dalog
1
290
Unlimited power of Data-Driven UI
dalog
4
720
Data-Driven View Controllers. Tips and Tricks
dalog
5
2k
2 years of Redux in iOS. Lessons learned
dalog
0
430
Why unidirectional architecture matter for iOS.
dalog
1
340
Mobile backend without REST
dalog
2
160
Self managed teams 101
dalog
0
210
Other Decks in Programming
See All in Programming
パーソナライズPodcastを作った話
repunit11
0
120
自サークルのIdPからログアウトできるようになるまで
taiseiue
0
110
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
JRuby: Past, Present, and Future
headius
0
220
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
Domain-Driven Transformation
hschwentner
2
2.3k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
160
Are APIs Still Relevant in the AI Era?
soyuka
0
420
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
370
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Automating Front-end Workflow
addyosmani
1369
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
The World Runs on Bad Software
bkeepers
PRO
72
12k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Accessibility Awareness
sabderemane
1
240
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
A designer walks into a library…
pauljervisheath
211
25k
Leo the Paperboy
mayatellez
10
2.4k
Transcript
Архитектура в мобильных проектах Основы, обзор, описание Алексей Демедецкий. Ноябрь
2014 @ Ciklum speakers corner
Определения
Архитектура - описание принципов распределения ролей и ответственностей в системе
Проектирование - процесс модификации архитектуры
Разработка - процесс забивания на архитектуру
Разработка - процесс поиска компромиса c архитектурой
Цели архитектуры
Цели • Гибкость • Предсказуемость • Жесткость • Понятность
Роли в проектировании
Роли • Команда • Бизнес • Тестировщики
Контекст принятия решений
Требования Команда Сроки
Контекст - определяющий момент в принятии решения.
Все решения принимаются с учетом контекста, поэтому слабо переносимы.
Характеристики архитектуры
• Связанность по коду (3) • Связанность по фичам (7)
• Модульность (8) • Прогнозируемость (9) • Самоподобие(10)
Актуальность
Способы анализа архитектуры
• Метрики кода (6) • Процессные метрики (8) • Мнение
команды (10)
Интеграция архитектур и фреймворков
Мета-архитектура
Мета-Мета-архитектура
Типы архитектур в мобильных приложениях
• Платформо-специфическая (как все) • Транзакционная • С моделью доменной
области • «Шина событий» • Слоевая • Радиальная
Фреймворк - каркас помогающий в решении проблем Архитекура - каркас
для выбора будущих проблем
Стоимость принятия архитектурных решений
Время Стоимость Раньше == Дешевле?
Так было раньше.
Время обратной связи >> Время изменения архитектуры
Время обратной связи ~ Время изменения архитектуры
Каждое решение отрезает путь для тысячи вариантов.
Время Стоимость Вовремя == Дешевле!
Рекомендации по выбору хороших решений
Литература • http://martinfowler.com/articles/designDead.html • http://alistair.cockburn.us/index.php/ Hexagonal_architecture • http://silkandspinach.net/2005/05/23/databases-as-life- support-for-domain-objects •
http://silkandspinach.net/2005/11/28/gravity-and- software-adaptability • http://martinfowler.com/eaaDev/PresentationModel.html
• http://www.amazon.com/Code-Complete-Practical- Handbook-Construction/dp/0735619670 • http://www.extremeprogramming.org • http://www.martinfowler.com/books/eaa.html
• http://blog.8thlight.com/arlandis-lawrence/2014/08/03/ prideful-programming.html • http://www.javaworld.com/article/2076128/design- patterns/hmvc--the-layered-pattern-for-developing- strong-client-tiers.html • http://www.targetprocess.com/articles/visual- specifications.html
• https://www.destroyallsoftware.com/talks/boundaries • http://www.targetprocess.com/articles/speed-in- software-development.html
Архитектура - один из аспектов качества продукта.
Ориентированность на продукт • http://www.youtube.com/watch?v=I5RqcYzrY4Y
Вопросы Алексей Демедецкий Skype: nobidon e-mail:
[email protected]