По порядку Senior Модульность обновлено

Как вынести фичу из монолита в модуль

Вопрос

Расставьте шаги выделения фичи из монолитного приложения в отдельный модуль.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Перенести код фичи в модуль, закрыв внутреннее от внешнего доступа
  2. 2
    Описать публичный API фичи (точки входа, интерфейсы навигации)
  3. 3
    Найти границы фичи и её входящие и исходящие зависимости
  4. 4
    Вынести общие зависимости фичи (сеть, модели, UI-компоненты) в core-модули
  5. 5
    Подключить реализацию в app-модуле через DI и удалить старые прямые ссылки
Показать ответ и разбор

Коротко

Модуляризацию делают постепенно, фича за фичей. Сначала разрывают зависимости, потом переносят: если перенести код раньше, модуль потянет за собой половину монолита.

Правильный порядок

  1. 1
    Найти границы фичи и её входящие и исходящие зависимости
  2. 2
    Вынести общие зависимости фичи (сеть, модели, UI-компоненты) в core-модули
  3. 3
    Описать публичный API фичи (точки входа, интерфейсы навигации)
  4. 4
    Перенести код фичи в модуль, закрыв внутреннее от внешнего доступа
  5. 5
    Подключить реализацию в app-модуле через DI и удалить старые прямые ссылки

Разбор

Модуляризацию делают постепенно, фича за фичей. Сначала разрывают зависимости, потом переносят: если перенести код раньше, модуль потянет за собой половину монолита.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.