Выбор ответа Middle Внедрение зависимостей обновлено

Composition root

Вопрос

Что такое composition root?

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

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Единственное место у входа в приложение (или модуль), где создаётся и связывается граф объектов. Composition root собирает зависимости: создаёт клиент, репозитории, координаторы и передаёт их вниз.

Варианты ответа

  1. Единственное место у входа в приложение (или модуль), где создаётся и связывается граф объектовправильный ответ
  2. Базовый класс, от которого наследуются все экраны, чтобы получить доступ к общим зависимостям
  3. Глобальный синглтон-контейнер, через который любой класс получает нужный сервис по типу
  4. Корневой экран навигации, который создаёт дочерние экраны и передаёт им данные

Разбор

Composition root собирает зависимости: создаёт клиент, репозитории, координаторы и передаёт их вниз. Остальной код получает готовые зависимости и не знает, как их создать. Если доступ к контейнеру есть отовсюду, это уже service locator. С экранами и наследованием понятие не связано.

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

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