backbone.js è stato descritto come un framework MVC per Javascript. Ma è così?Backbone.js è davvero un MVC?
Ecco la descrizione del modello, da http://documentcloud.github.com/backbone/
Modelli sono il cuore di qualsiasi applicazione JavaScript, contenente i dati interattive e una grande parte della logica circonda: conversioni, convalide, proprietà calcolate e controllo di accesso. Si estendere Backbone.Model con i metodi specifici del dominio e il modello fornisce un set di base di funzionalità per la gestione delle modifiche.
Ora, questa non è affatto la mia comprensione del modello in MVC. Nella mia comprensione, il modello è solo le classi che modellano il dominio, quindi gli oggetti Studente, Scuola e Insegnante. Il controller esegue la logica aziendale su di essi e interagisce con la vista per visualizzare e ricevere input.
Questa comprensione è coerente con le varie definizioni che si trovano sul web, IE http://en.wikipedia.org/wiki/Model_view_controller:
Model-View-Controller (MVC) è un modello di progettazione per l'utente del computer interfacce che divide un'applicazione in tre aree di responsabilità:
Modello: gli oggetti di dominio o strutture di dati che rappresentano stato dell'applicazione.
Quindi, la mia domanda è: backbone.js è davvero un framework MVC in qualsiasi senso, o è più solo un modo generale di aiutarti a incollare tutto insieme?
Per inciso, la definizione del Modello da FAQ backbone.js sembra differire da quella che ho citato in precedenza (anche da backbone.js http://documentcloud.github.com/backbone/#FAQ-mvc:
Backbone.Model - come un modello meno Rails . i metodi della classe avvolge una riga di dati in logica di business
Quindi, in che senso è backbone.js davvero un MVC o no
(Caveat.?: Sto solo valutando backbone.js al momento.)
Ecco perché molte persone si riferiscono a framework come MV * –
Nota i tipi di * logic * indicati come parte del modello: "conversioni, convalide, proprietà calcolate e controllo di accesso". Queste sono tutte le preoccupazioni sensibili degli oggetti di dominio in qualsiasi applicazione MVC. Non sono la stessa logica dell'applicazione/business, come il routing tra le visualizzazioni, l'invio di aggiornamenti a un database, ecc. Che di solito sono responsabilità del controllore. – mellamokb
Dovrei davvero minimizzare questo (ma non lo sto facendo) questo sicuramente sembra una trama per guadagnare rep !! ma comunque nessuno ha detto che Backbone è MVC? ** Lo spiegano come una libreria che fornisce una struttura utilizzando modelli, viste, collezioni e router (ancora una volta non si parla della sua somiglianza con MVC) ** le persone non possono aiutare con ipotesi sbagliate possono? – Deeptechtons