Skip to content

Latest commit

 

History

History

003-Ioc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию «1.3. IoС и DI. Библиотека reflect-metadata»

Правила выполнения домашней работы.

  • Выполняйте домашнее задание в отдельной ветке проекта на GitHub.
  • В поле для сдачи работы прикрепите ссылку на ваш проект в Git.
  • На проверку можно отправить как все задачи вместе, так и каждую задачу по отдельности.
  • Во время проверки вашей домашней работы по частям будет стоять статус «На доработке».
  • Любые вопросы по решению задач можете задавать в чате учебной группы.

Подготовьте рабочую среду для дальнейшей работы.

1. Установите inversify к разрабатываемому приложению «библиотека» из модуля NDSE «Настройка окружения и Express.js» и создайте IoC-контейнер в файле container.js.

Какую версию проекта использовать.

Вы можете использовать любую версию проекта после подключения mongodb.

2. Добавьте сервис BooksRepository из предыдущего задания в IoC-контейнер.

Как должно выглядеть добавление:
container.bind(BooksRepository).toSelf()

Сервис должен подключиться .toSelf() без использования дополнительного контракта.

3. Воспользуйтесь IoC-контейнером в обработчиках запросов express.js, чтобы получить BooksRepository.

Как должно выглядеть использование:
router.get(':id', async (req, res, next) => {
  const repo = container.get(BooksRepository);
  const book = await repo.getBook(req.params.id);
  res.json(book);
})

В примере для простоты опущены преобразования типов и обработка ошибок.