Perché il modello oggetto documento è la vista?

4

Mi è stato detto da un programmatore Javascript di non manipolare DOM nel codice del modello.

Ricordo anche di aver sentito una melodia sgargiante per un framework JS (non ricordo quale): "Fai uscire i tuoi modelli dal DOM".

Questo mi confonde. Il DOM è il Modello oggetto documento . Per me sembra "fai uscire il tuo modello dal modello".

Il mio modello JS non dovrebbe davvero toccare il DOM? Qualcuno può mettermi direttamente sul modello v. Modello?

    
posta Paul Draper 30.01.2015 - 05:50
fonte

2 risposte

8

C'è un lotto di termini sovraccaricati nella programmazione. Il "modello" in Model-View-Controller non ha nulla a che fare con il "modello" in Document Object Model.

Probabilmente il DOM avrebbe dovuto essere chiamato qualcosa come l'interfaccia di manipolazione dei documenti, dal momento che è ciò che effettivamente è: un'interfaccia. Ancora più importante, è un'interfaccia per manipolare il contenuto che viene mostrato direttamente all'utente. In MVC, qualsiasi codice che mostra le cose all'utente dovrebbe essere in una vista.

È del tutto corretto dire che il tuo modello MVC non dovrebbe manipolare il DOM, per lo stesso motivo per cui non dovrebbe generare popup o suoni: vogliamo mantenere le entità di business (modelli) disgiunte dalla logica di presentazione.

    
risposta data 30.01.2015 - 08:44
fonte
1

"Modello" in "Modello oggetto documento" non si riferisce a "Modello" in "Model-View-Controller". È solo un modulo che usiamo per manipolare il DOM. Facciamo la gestione dei dati in Model (MVC) e facciamo un po 'di logica nel controller e ciò che si sta indirizzando DOM è da utilizzare in View (MVC) poiché stiamo rappresentando la vista per l'utente.

    
risposta data 31.01.2015 - 22:48
fonte

Leggi altre domande sui tag