Как отделить бизнес-логику от контроллеров в приложениях Express.js - PullRequest
0 голосов
/ 01 марта 2019

Во время одного из интервью у меня возник вопрос, как отделить бизнес-логику от контроллера в Express.Было бы это правильным решением?

const db =require('./db')
const helpers =require('./helpers')

exports.getBooksValue = (req, res)=>{
    const books   =  db.get(req.params)
    const booksValue = helpers.calculateBookValue(books)
    res.send(booksValue)
}    

1 Ответ

0 голосов
/ 01 марта 2019

На самом деле в Express нет правильного (стандартного) решения, в то время как ruby ​​на рельсах, например, стандартно использует шаблон mvc, поскольку express обеспечивает большую гибкость.

Ваше решение выглядит хорошо, но если вы сосредоточены надальнейшее разделение,

Я предлагаю вам создать папку config и управлять информацией БД внутри этого файла.

Внутри папки конфигурации, убедитесь, что она отделена для производства или разработки.

Вы также можете использовать dotenv в папке конфигурации для более безопасного импорта значений env.

...