Доклады / Архитектура в Agile: переосмысляя идею модульности и компонентности

Знакомо ли вам:

- Как нам выполнять работу итерациями, если у нас реализация одной фичи занимает месяц-два?

- Декомпозируйте!

- Да мы декомпозируем: всё разбито на модули, но каждый модуль жестко зависит от всех остальных и мы вынуждены делать синхронные правки в каждом, а потом еще долго-долго тестировать и стабилизировать!..

 

Или:

- Как нам в Agile с его итеративным процессом и инкрементальным дизайном не вырастить код-гидру, т.е. когда правишь один баг, а в результате привносишь еще N?

- Декомпозируйте!

- Так мы и так используем объектно-ориентированный подход, т.е. вся логика разбита по классам, но при этом каждый класс зависит от других стапятьсот классов, так что исправления в одном неведомым образом стреляют в другом...

 

И наконец:

- Мы всё медленнее и медленее развиваем наш продукт - у нас тяжелый и сильно связанный код. Что нам делать?

- Вы знаете/используете Inversion-of-Control?

- Конечно! У нас все сервисы оформлены в виде интерфейсов, а глобальный контекст работает по принципу Service Locator-а

- А зачем вы используете глобальные контексты?

- Так это же удобно! И разве можно иначе?!

Основная цель доклада - показать, что декомпозицию можно и нужно делать и как при этом обеспечить слабую связанность кода. При этом будут рассмотрены все три уровня: отдельные классы и их взаимодействие; организация модуля в целом; взаимодействие между модулями.

Целевая аудитория: разработчики, архитекторы, руководители проектов с техническим background-ом.

Архитектура в Agile — переосмысляя идею модульности и компонентности (1) from Stas Fomin on Vimeo.

Архитектура в Agile — переосмысляя идею модульности и компонентности (2) from Stas Fomin on Vimeo.

Уровень аудитории: практикующие, эксперты

Направления: Engineering & Quality

Докладчик

Андрей Бибичев Андрей Бибичев
iPi Soft (Москва)

На доклад идут: 9

Комментарии

 

Зарегистрируйтесь, чтобы оставлять комментарии

123