2015-12-09 18 views
0

我看到分離出快速路由器邏輯到控制器中的文件的例子,如meanJS快車 - 分離路徑處理程序邏輯到控制器中

例如

var express = require('express'), 
    router = express.Router(), 
    catalogues = require('../controllers/catalogues'); 

router.route('/catalogues') 
    .get(catalogues.apiGET) 
    .post(catalogues.apiPOST); 

../controllers/catalogues

var request = require('request'); 

exports.apiGET = function(req, res) { 
    var options = prepareCataloguesAPIHeaders(req); 
    request(options, function(err, response, body){ 
    res.send(body); 
    }); 
}; 

exports.apiPOST = function(req, res) { 
    var options = prepareCataloguesAPIHeaders(req); 
    options.json = true; 
    options.body = stripBody(req.body); 
    request(options, function(err, response, body){ 
    res.send(body); 
    }); 
}; 

我還沒有見過這樣的快速文檔任何提及,所以這只是在保持邏輯思維的新途徑與路由定義分開?

使用此方法是否有任何性能或其他收益?

+3

分離成文件從來沒有任何性能收益(畢竟,閱讀文件是「昂貴的」)。增益的可讀性和清晰度。如果它可以幫助你和你的團隊更好地閱讀代碼,那就使用它。如果沒有,不要。 –

回答

2

MEAN.js試圖在服務器端遵循MVC模式(模型 - 視圖 - 控制器),結果是貓鼬模型,服務器模板和控制器之間的邏輯劃分。

作爲改善代碼組織的一種方法,通常將路由和控制器分隔到自己的文件中。在一個巨大的應用程序中它可以幫助開發人員維護代碼

關於表現,我不認爲有任何改善。