Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Архитектура в мобильных проектах Основы, обзор, описание Алексей Демедецкий. Ноябрь 2014 @ Ciklum speakers corner
Slide 2
Slide 2 text
Определения
Slide 3
Slide 3 text
Архитектура - описание принципов распределения ролей и ответственностей в системе
Slide 4
Slide 4 text
Проектирование - процесс модификации архитектуры
Slide 5
Slide 5 text
Разработка - процесс забивания на архитектуру
Slide 6
Slide 6 text
Разработка - процесс поиска компромиса c архитектурой
Slide 7
Slide 7 text
Цели архитектуры
Slide 8
Slide 8 text
Цели • Гибкость • Предсказуемость • Жесткость • Понятность
Slide 9
Slide 9 text
Роли в проектировании
Slide 10
Slide 10 text
Роли • Команда • Бизнес • Тестировщики
Slide 11
Slide 11 text
Контекст принятия решений
Slide 12
Slide 12 text
Требования Команда Сроки
Slide 13
Slide 13 text
Контекст - определяющий момент в принятии решения.
Slide 14
Slide 14 text
Все решения принимаются с учетом контекста, поэтому слабо переносимы.
Slide 15
Slide 15 text
Характеристики архитектуры
Slide 16
Slide 16 text
• Связанность по коду (3) • Связанность по фичам (7) • Модульность (8) • Прогнозируемость (9) • Самоподобие(10)
Slide 17
Slide 17 text
Актуальность
Slide 18
Slide 18 text
Способы анализа архитектуры
Slide 19
Slide 19 text
• Метрики кода (6) • Процессные метрики (8) • Мнение команды (10)
Slide 20
Slide 20 text
Интеграция архитектур и фреймворков
Slide 21
Slide 21 text
Мета-архитектура
Slide 22
Slide 22 text
Мета-Мета-архитектура
Slide 23
Slide 23 text
Типы архитектур в мобильных приложениях
Slide 24
Slide 24 text
• Платформо-специфическая (как все) • Транзакционная • С моделью доменной области • «Шина событий» • Слоевая • Радиальная
Slide 25
Slide 25 text
Фреймворк - каркас помогающий в решении проблем Архитекура - каркас для выбора будущих проблем
Slide 26
Slide 26 text
Стоимость принятия архитектурных решений
Slide 27
Slide 27 text
Время Стоимость Раньше == Дешевле?
Slide 28
Slide 28 text
Так было раньше.
Slide 29
Slide 29 text
Время обратной связи >> Время изменения архитектуры
Slide 30
Slide 30 text
Время обратной связи ~ Время изменения архитектуры
Slide 31
Slide 31 text
Каждое решение отрезает путь для тысячи вариантов.
Slide 32
Slide 32 text
Время Стоимость Вовремя == Дешевле!
Slide 33
Slide 33 text
Рекомендации по выбору хороших решений
Slide 34
Slide 34 text
Литература • 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
Slide 35
Slide 35 text
• http://www.amazon.com/Code-Complete-Practical- Handbook-Construction/dp/0735619670 • http://www.extremeprogramming.org • http://www.martinfowler.com/books/eaa.html
Slide 36
Slide 36 text
• 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
Slide 37
Slide 37 text
Архитектура - один из аспектов качества продукта.
Slide 38
Slide 38 text
Ориентированность на продукт • http://www.youtube.com/watch?v=I5RqcYzrY4Y
Slide 39
Slide 39 text
Вопросы Алексей Демедецкий Skype: nobidon e-mail:
[email protected]