Разделение моделей, логики и DAO в express/node.js
Какой лучший способ разделить разные уровни экспресс-приложения, так что мой файл app.js не будет заполнен функциями? Я прихожу из Java-мира, поэтому я обычно использую свои модели, бизнес-логику и код DAO в разных уровнях.
Другой вопрос, который меня беспокоил: как мне открыть соединение с БД в app.js, а затем поделиться этим с различными частями кода, которым нужен доступ к нему? Не маршрутизированные функции, а модули бизнес-логики.
Ответы
Ответ 1
Смотрите этот проект как отдельные файлы следующим образом:
https://github.com/lethus/popbroker
routes.js - Здесь мы помещаем маршруты, обычно ссылающиеся на контроллеры
models.js - Модель здесь вы ставите функции MongoDB
forms.js - Вы выполняете проверку объектов
controllers/users.js - это будет что-то вроде java UI, здесь мы будем называть models.js и вставляем, обновляем, списываем, находят