myspace
@myspace

Насколько правильная логика работы с моделью?

Добрый вечер. На примере выбора телефона из бд, насколько правильно делать так?

контроллер
const indexModel = require('../models/indexModel');
class Index {

    constructor(title) {
        this.title = title;
        this.mainPage = this.mainPage.bind(this);
        this.phone = indexModel.getPhone;
    }

     mainPage(req, res, next) {

         let data = {
             title: this.title,
             user: req.session.userId,
             phone: req.phone
         };

         res.render('index', data);
    }

}
module.exports = new Index('Тайтл');


Модель, получаем телефон
const connection = require('../connection/mysql');

class indexModel {

    constructor() {
        this.getPhone = this.getPhone.bind(this);
    }

    getPhone(req, res, next) {

        connection.query('SELECT `phone` from `etc`', function (error, results, fields) {
            if (error) {
                throw error;
            }

            req.phone = results[0].phone;
            next();
        });

    }
}

module.exports = new indexModel();


Собственно волнует момент, где записываю в свойство класса контроллера метод из модели, который выбирает телефон, а потом в роутере подставляю это свойство
var express = require('express');
var router = express.Router();
var index = require('../controllers/index');

router.get('/', index.phone, index.mainPage);

module.exports = router;
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
@vshvydky
мне кажется использование классов выглядит как велосипед, создать класс, в конструкторе которого вызвать метод и экспортировать экземпляр класса, который исполнит этот метод, ну не жесть? Чем этот велоананизм лучше банальной функции? В чем здесь преимущество использования классов?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы