MVC en nodo y en general: ¿Cómo se vinculan los modelos a las vistas?

Estoy empezando con node.js y estoy haciendo un framework MVC simple. Hasta ahora, tengo un controlador frontal (o "despachador", por así decirlo) funcionando. El enrutamiento se realiza a través de un módulo de configuración de despachador, como se muestra.

Mis preguntas están al final, inmediatamente después del código. Además, este es un ejercicio de aprendizaje de nodos, por favor, no sugiera express.js y los gustos.

dispatcherConfig.js:

var url = require('url');

(function() {
    var dispatcherConfig = {
        '/'                 : 'homeController',
        '/index.html'       : 'homeController',
        '/sayHello.html'    : 'helloController',
        '404'               : '404Controller'
    };

    module.exports.getController = function(request) {
        var route = url.parse(request.url, true).pathname;
        if(dispatcherConfig[route]) {
            return dispatcherConfig[route];
        }
        return dispatcherConfig['404'];
    }
}());


Esto es usado pordispatcher.js:

var dispatcherConfig = require('./config/dispatcherConfig');

(function() {
    module.exports.dispatch = function(request, response) {
        var requiredController = dispatcherConfig.getController(request);
        var controller = require('./controllers/' + requiredController);
        controller.doService(request, response);
    }
}());


Y aquí es cómo se ve un controlador de muestra (funciona muy bien también) -homeController.js:
(Por favor ignore el código de vista en línea por ahora)

(function() {
    var homeController = {
        doService: function(request, response) {
            response.write('<form action="/sayHello.html" method="GET">' + 
                '<input id="name" name="name" size="20" />' + 
                '<input type="submit" value="Submit" />' + 
                '</form>');
        }
    }

    module.exports.doService = function(request, response) {
        return homeController.doService(request, response);
    }
}());


Este enrutamiento funciona muy bien. Tengo controladores que se conectan fácilmente a los patrones de url, y también estoy emulando el tipo de controlador de multiacción de Spring, inspeccionando el objeto de solicitud.

Tres cosas obvias que deben hacerse aquí son:

Creando objetos de vistaCreando objetos modeloEncuadernación de vistas y modelos.

Preguntas:

En MVC (primavera, al menos), son los controladores que enlazan una vista con un modelo. ¿Es esta la mejor manera de hacerlo? ¿Qué sucede si mantengo una configuración separada que describe qué enlaces de vista a qué modelo y el controlador solo se enruta a una vista? ¿Es esto incorrecto y no MVC?

¿Cuál es una buena manera de representar una vista en node.js? Dado que está muy basado en plantillas, ¿qué opciones de plantillas se ofrecen (maduradas)?

Si cargo un archivo para que se sirva de forma estática (por ejemplo, un archivo CSS, se cargue a través de un archivo leído en la memoria), y mantengo una referencia al contenido en el ámbito global / de la aplicación, las solicitudes subsiguientes se pueden atender directamente desde la memoria, lo que resulta en una velocidades, es esta suposición correcta? De hecho, podemos garantizar que después de la primera solicitud que ingresa al servidor del nodo (lo que activará la lectura del archivo y el contenido que se está cargando en mem), todas las solicitudes subsiguientes serán atendidas desde la memoria (para dicho contenido estático).

¿Cuál es la forma de bajo nivel (sin marco) de capturar datos POST en raw node.js?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta