К чему относятся такие файлы как подключение к бд, passport, winston и т.д?
В архитектуре приложения все понятно, views - шаблоны, models - модели и тд. А к чему отнести такие файлы подключение к mongodb, redis, passport, winston и еще много разных модулей?
Ответы (1 шт):
Все перечисленное относится к инфраструктуре.
Это те вещи, которые не являются частью бизнес логики приложения. Если бизнес логика описывает что и когда происходит (она описывает бизнес-правила предметной области), то инфраструктура это детали реализации или механизмы, которые определяют как.
Например, интерфейс CustomerRepository - часть бизнес-логики приложения, он позволяет коду который непосредственно реализует правила предметной области приложение сохранять и получать модели Customer, которые так же являются частью бизнес-логики приложения. Бизнес-логика не знает (не должна по крайней мере) о том, где реально хранится модель, какие механизмы при этом используются и т.д. Этот интерфейс - способ абстагироваться от конкретной реализации.
Реализация же этого интерфейса MongoDbCustomerRepository - это уже часть инфраструктуры, которая определяет, как именно хранятся модели.
Вот пример хорошей статьи с гораздо более подробным объяснением.