Архитектура в Agile — переосмысляя идею модульности и компонентности (Андрей Бибичев, AgileDays-2011) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показано 9 промежуточных версий этого же участника) | |||
== Аннотация ==
;Докладчик: {{Speaker|Андрей Бибичев}}
<blockquote>
Знакомо ли вам:
— Как нам выполнять работу итерациями, если у нас реализация одной фичи занимает месяц-два?
— Декомпозируйте!
— Да мы декомпозируем: всё разбито на модули, но каждый модуль жестко зависит от всех остальных и мы вынуждены делать синхронные правки в каждом, а потом еще долго-долго тестировать и стабилизировать!..
Или:
— Как нам в Agile с его итеративным процессом и инкрементальным дизайном не вырастить код-гидру, то есть когда правишь один баг, а в результате привносишь еще N? == Презентация == [[Файл:Архитектура в Agile — переосмысляя идею модульности и компонентности (Андрей Бибичев, AgileDays-2011).pdf|page=-|left|256px]] == Примечания и отзывы == * [http://2011.agiledays.ru/reports/view/62/ страничка доклада на сайте конференции] <blockquote> Утро началось с бодрого и энергичного доклада Андрея Бибичева на тему переосмысления архитектурных принципов в Agile. Андрей затронул в докладе идеи модульности, компонентности, принципы ООП и ООА, а также много других полезных принципов дизайна. Неуверен, что всем доклад был полезен, но я очень рад, что технический доклад приняли на конференцию. Мне очень нравится манера докладчика объяснять правильные принципы на простых и интересных примерах, в то же время добавляя свою изюминку в виде заковыристых выражений и различных полезных фактов. Вообщем, от доклада получил истинное удовольствие. Конечно, все эти принципы появились не благодаря Agile подходам. Но если все будут считать их неотъемлемой частью Agile и стремиться к ним, то я готов с радостью согласиться. [http://xpinjection.com/2011/03/15/ukraine-adventures-at-agiledays-part2/ ©] </blockquote> {{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}} {{include-review|Максим Цепков - AgileDays-2011/Архитектура в Agile}} <references/> [[Категория:Программная архитектура]] {{stats|disqus_comments=0|refresh_time=2020-01-09T22:45:542021-08-31T16:49:43.958528049504|vimeo_comments=0|vimeo_plays=841859|youtube_comments=0|youtube_plays=7}}13}} [[Категория:Андрей Бибичев]] [[Категория:AgileDays-2011]] [[Категория:Архитектура и Agile]] |
Текущая версия на 12:20, 4 сентября 2021
Содержание
Аннотация
- Докладчик
- Андрей Бибичев
Знакомо ли вам:
— Как нам выполнять работу итерациями, если у нас реализация одной фичи занимает месяц-два?
— Декомпозируйте!
— Да мы декомпозируем: всё разбито на модули, но каждый модуль жестко зависит от всех остальных и мы вынуждены делать синхронные правки в каждом, а потом еще долго-долго тестировать и стабилизировать!..
Или:
— Как нам в Agile с его итеративным процессом и инкрементальным дизайном не вырастить код-гидру, то есть когда правишь один баг, а в результате привносишь еще N?
— Декомпозируйте!
— Так мы и так используем объектно-ориентированный подход, то есть вся логика разбита по классам, но при этом каждый класс зависит от других стапятьсот классов, так что исправления в одном неведомым образом стреляют в другом…
И наконец:
— Мы всё медленнее и медленее развиваем наш продукт — у нас тяжелый и сильно связанный код. Что нам делать?
— Вы знаете/используете Inversion-of-Control?
— Конечно! У нас все сервисы оформлены в виде интерфейсов, а глобальный контекст работает по принципу Service Locator-а
— А зачем вы используете глобальные контексты?
— Так это же удобно! И разве можно иначе?!
Основная цель доклада — показать, что декомпозицию можно и нужно делать и как при этом обеспечить слабую связанность кода. При этом будут рассмотрены все три уровня: отдельные классы и их взаимодействие; организация модуля в целом; взаимодействие между модулями.
Целевая аудитория: разработчики, архитекторы, руководители проектов с техническим background-ом.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Примечания и отзывы
Утро началось с бодрого и энергичного доклада Андрея Бибичева на тему переосмысления архитектурных принципов в Agile. Андрей затронул в докладе идеи модульности, компонентности, принципы ООП и ООА, а также много других полезных принципов дизайна. Неуверен, что всем доклад был полезен, но я очень рад, что технический доклад приняли на конференцию. Мне очень нравится манера докладчика объяснять правильные принципы на простых и интересных примерах, в то же время добавляя свою изюминку в виде заковыристых выражений и различных полезных фактов. Вообщем, от доклада получил истинное удовольствие. Конечно, все эти принципы появились не благодаря Agile подходам. Но если все будут считать их неотъемлемой частью Agile и стремиться к ним, то я готов с радостью согласиться. ©
Plays:872 Comments:0