Архитектура в Agile — переосмысляя идею модульности и компонентности (Андрей Бибичев, AgileDays-2011) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
{{include-review|AgileDays-2011: Отчет Беспальчука И.А./Андрей Бибичев. Архитектура в Agile: переосмысляя идею модульности и компонентности}} {{include-review|AgileDays -2011:Отчет Заборова М.А./Андрей Бибичев. Архитектура в Agile: переосмысляя идею модульности и компонентности}} {{include-review|AgileDays-2011:Отчет Дмитрия Белобородова/Архитектура в Agile}} {{include-review|AgileDays-2011: Отчет Кудрявцева В.Б/Архитектура в Agile}} {{include-review|Максим Цепков - AgileDays-2011/Архитектура в Agile}} <references/> [[Категория:AgileDays-2011]] [[Категория:Программная архитектура]] {{stats|disqus_comments=0|refresh_time=2019-12-30T22:06:252020-01-04T22:40:50.444691308822|vimeo_comments=0|vimeo_plays=841|youtube_comments=0|youtube_plays=7}} |
Версия 19:40, 4 января 2020
Содержание
Аннотация
- Докладчик
- Андрей Бибичев
Знакомо ли вам:
— Как нам выполнять работу итерациями, если у нас реализация одной фичи занимает месяц-два?
— Декомпозируйте!
— Да мы декомпозируем: всё разбито на модули, но каждый модуль жестко зависит от всех остальных и мы вынуждены делать синхронные правки в каждом, а потом еще долго-долго тестировать и стабилизировать!..
Или:
— Как нам в Agile с его итеративным процессом и инкрементальным дизайном не вырастить код-гидру, то есть когда правишь один баг, а в результате привносишь еще N?
— Декомпозируйте!
— Так мы и так используем объектно-ориентированный подход, то есть вся логика разбита по классам, но при этом каждый класс зависит от других стапятьсот классов, так что исправления в одном неведомым образом стреляют в другом…
И наконец:
— Мы всё медленнее и медленее развиваем наш продукт — у нас тяжелый и сильно связанный код. Что нам делать?
— Вы знаете/используете Inversion-of-Control?
— Конечно! У нас все сервисы оформлены в виде интерфейсов, а глобальный контекст работает по принципу Service Locator-а
— А зачем вы используете глобальные контексты?
— Так это же удобно! И разве можно иначе?!
Основная цель доклада — показать, что декомпозицию можно и нужно делать и как при этом обеспечить слабую связанность кода. При этом будут рассмотрены все три уровня: отдельные классы и их взаимодействие; организация модуля в целом; взаимодействие между модулями.
Целевая аудитория: разработчики, архитекторы, руководители проектов с техническим background-ом.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Примечания и отзывы
Утро началось с бодрого и энергичного доклада Андрея Бибичева на тему переосмысления архитектурных принципов в Agile. Андрей затронул в докладе идеи модульности, компонентности, принципы ООП и ООА, а также много других полезных принципов дизайна. Неуверен, что всем доклад был полезен, но я очень рад, что технический доклад приняли на конференцию. Мне очень нравится манера докладчика объяснять правильные принципы на простых и интересных примерах, в то же время добавляя свою изюминку в виде заковыристых выражений и различных полезных фактов. Вообщем, от доклада получил истинное удовольствие. Конечно, все эти принципы появились не благодаря Agile подходам. Но если все будут считать их неотъемлемой частью Agile и стремиться к ним, то я готов с радостью согласиться. ©
Plays:848
Comments:0