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
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
260
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
220
Other Decks in Programming
See All in Programming
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.4k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
360
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.2k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
210
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.9k
Next.js: The final boss of Web Performance
guaca
0
350
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
380
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
ChromeでローカルLLM
ryu1013
0
170
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
210
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
120
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.9k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
860
Test your architecture with Archunit
thirion
2
2.5k
Raft: Consensus for Rubyists
vanstee
143
7.8k
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Building Adaptive Systems
keathley
44
3.3k
Leo the Paperboy
mayatellez
10
2.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
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]