Qual è questa variazione di MVC in JavaScript?

0

Sto lavorando per ordinare il mio codice Javascript . Attualmente ho delle viste implementate senza alcun modello o collezione. Ora sto lavorando per separare Model da View. Quindi per questa trasformazione, sto pianificando come segue:

         View --->  X  <--- | ---> Server
          <  Client side  >

Ipotesi:

  1. La vista non avrà alcun dato che deve essere caricato dal server del modulo.
  2. X parlerà con il server e otterrà i dati richiesti. Quindi X genererà un evento.
  3. View ascolterà gli eventi e si aggiornerà di conseguenza.
  4. X non è una replica esatta di qualche entità sul server. X prenderà solo quelle entità / dati dal server e quindi View può richiedere questi dati da X.
  5. Ci sarà esattamente una X per ogni vista.

Ora la domanda è - come si chiama X?
Opzioni - Modello, Controller, ViewModel, Presenter o qualsiasi altra cosa.
O è questa cosa molto rozza che non può avere la terminologia?

    
posta akp 15.02.2013 - 20:00
fonte

2 risposte

1

X è più comunemente chiamato ViewModel. Controllerless MVVM è ciò che la tua implementazione assomiglia più da vicino.

Se la tua vista gestisce gli eventi da X, è simile a Model-View-Binder, un po 'come Knockout.js , forse senza lo stile dichiarativo.

Non mi preoccuperei molto di ciò che viene chiamato. Preoccupati per come / se funziona .

    
risposta data 15.02.2013 - 20:55
fonte
0

Per quanto ne so, non stai seguendo nessuno dei pattern MV * (ancora).

In termini (molto) allentati:

  • Una vista serve esclusivamente per presentare informazioni e ricevere input dall'utente.
  • Un Controller, Presenter o ViewModel possono avere una logica di business oltre ad essere l'intermediario tra il Modello e la Vista.
  • Un modello è una rappresentazione dei dati del sistema. Potrebbe essere un accesso diretto all'archivio dati, oppure potrebbe invece passare attraverso un livello di accesso ai dati.

"Modello" è il livello più vicino che X sembra avvicinarsi. Il livello Model non deve essere una rappresentazione diretta delle informazioni nell'archivio dati. Ha solo bisogno di presentare i dati in linea con l'applicazione / il dominio aziendale.

Potresti trovare l'articolo di Martin Fowler su Architettura della GUI che vale la pena leggere. Tieni presente che ha aggiornato il pattern MVP e lo ha spostato in due pattern, ma lo incontrerai mentre leggi il suo sito.

    
risposta data 15.02.2013 - 20:55
fonte

Leggi altre domande sui tag