К чему относятся такие файлы как подключение к бд, passport, winston и т.д?

В архитектуре приложения все понятно, views - шаблоны, models - модели и тд. А к чему отнести такие файлы подключение к mongodb, redis, passport, winston и еще много разных модулей?


Ответы (1 шт):

Автор решения: Roman Konoval

Все перечисленное относится к инфраструктуре.

Это те вещи, которые не являются частью бизнес логики приложения. Если бизнес логика описывает что и когда происходит (она описывает бизнес-правила предметной области), то инфраструктура это детали реализации или механизмы, которые определяют как.

Например, интерфейс CustomerRepository - часть бизнес-логики приложения, он позволяет коду который непосредственно реализует правила предметной области приложение сохранять и получать модели Customer, которые так же являются частью бизнес-логики приложения. Бизнес-логика не знает (не должна по крайней мере) о том, где реально хранится модель, какие механизмы при этом используются и т.д. Этот интерфейс - способ абстагироваться от конкретной реализации.

Реализация же этого интерфейса MongoDbCustomerRepository - это уже часть инфраструктуры, которая определяет, как именно хранятся модели.

Вот пример хорошей статьи с гораздо более подробным объяснением.

→ Ссылка