A minha dúvida é sobre as instâncias das classes no arquivo de rotas.
As variáveis que instanciam os controllers e a model, foram definidas fora do callback que será exportado, enquanto que há variáveis que ficaram dentro do callback.
Como o escopo dessa variáveis não transcende ao escopo do callback, haveria algum motivo em especial delas serem definidas dentro ou fora dele? É alguma convenção da comunidade js/node, um design pattern ou somente uma preferência do professor?
Isso não ficou muito claro para mim.
// arquivo src/rotas/rotas.js
const BaseControlador = require('../controlador/base-controlador');
const baseControlador = new BaseControlador();
const LivroControlador = require('../controlador/livro-controlador');
const livroControlador = new LivroControlador();
const Livro = require('../modelos/livro');
module.exports = (app) => {
const rotasBase = BaseControlador.rotas();
const rotasLivro = LivroControlador.rotas();
// restante do código