Padrão RAII para controladores de API em Node.js

function HomeController (config, server) {
this.config = config;
this.server = server;

server
.get( // restify style route logic
{
'name': 'Home',
'path': '/',
'version': '0.0.1'
},
this.getHomePage.bind(this)
);
}

HomeController.prototype.getHomePage = function (req, res, next) {
res
.json({'message': 'This is just a quick test'});
next();
};

module.exports = exports = HomeController;

O construtor do controlador aceita uma configuração e um objeto de servidor (adapte-se ao Express & Restify conforme necessário) e os usa para conectar as rotas do controlador aos métodos de tratamento definidos na classe do controlador.