Per un framework MVC, i concetti di base più o meno così (perdonate la semplicità):
var view = 'I say, "{{first}} {{second}}".';
var model = {
first: 'hello',
second: function(){
return 'world';
}
};
for(item in model){
var regex = new RegExp('{{' + item + '}}', 'gi');
if(typeof(item) == 'function')
view = view.replace(regex, model[item]());
else
view = view.replace(regex, model[item]);
}
console.log(view);
Inizia il più semplice possibile e aggiungere piccoli miglioramenti: vista
- magazzino/modelli come File. Questo ti dà la possibilità di giocare con I/O di file async di node.js.
- aggiungere il supporto per i modelli più complessi - ripetendo articoli/array, oggetti che contengono oggetti
- aggiungere il supporto per i modelli all'interno di modelli
- Fetch tuoi modelli da un'origine dati esterna. CouchDB potrebbe essere divertente.
- Aggiungere regolatori adeguati - questi oggetti dovrebbero sapere quali modelli andare con quali viste e come cucire insieme
- mappa La tua richiesta HTTP URL per i controller e le azioni -/persona/55 potrebbe andare a prendere una persona con id 55 dai dati repository,/person/add potrebbe far apparire un'interfaccia per aggiungere una persona - entrambi usano un controller personale con le visualizzazioni visualizzate per l'azione appropriata.
Dai uno sguardo a mustache.js per un motore modello piccolo. Nota che la loro terminologia differisce dalla mia negli esempi e nel codice. Quello che io chiamo un vista, che chiamano un modello e quello che io chiamo un modello, che chiamano un vista. È una cosa piccola ma potenzialmente confusa.
risorse aggiuntive:
fonte
2010-09-15 22:05:13
Un micro-quadro per fare cosa? – MooGoo
@MooGoo: Dal momento che sta parlando di codice lato server, probabilmente è un framework MVC o MVVM. Come Rails o Django o Catalyst. – slebetman
Sì, è corretto. – donald