alekseyburn / spotify

0 stars 0 forks source link

transport layer #3

Open mvxivy opened 1 year ago

mvxivy commented 1 year ago

https://github.com/alekseyburn/spotify/blob/075e5d72e24314f5102aae1b6309cbf2559ad7cd/src/services/axios/index.ts#L21-L61 high coupling и явное нарушение separation of concerns. если я правильно понял идею - тут должен быть фасад над http клиентом (axios), который упрощает управление им и сам сервис - декоратор добавляющий несколько полезных фич, например установка хедеров, глобальная обработка данных в запросах и обработка ошибок, предоставление интерфейса, для добавления и удаления этих обработчиков на уровне приложения. А по факту эта функция и создает абстракцию (о чем было заявлено в названии) и роутингом управляет и авторизацией и еще ошибки обрабатывает . Нужно определиться с ответственностью этого модуля и отдавать только необходимое и что касается работы с http запросами

mvxivy commented 1 year ago

по поводу разделения слоев я вижу примерно такую схему layers schema