Cosa significa MVW?


351

Ecco la descrizione del contenuto per la pagina AngularJS:

AngularJS è ciò che sarebbe stato HTML se fosse stato progettato per la creazione di app Web. Modelli dichiarativi con associazione dati, MVW, MVVM, MVC, iniezione di dipendenza e ottima storia di testabilità tutti implementati con JavaScript lato client puro!

Cosa significa MVW? (Considerando il battibecco MVC, MVVW, MVP ecc., Immagino "qualunque cosa", Model-View-qualunque = P)


Penso che tu abbia ragione con Model-View-qualunque cosa! code.google.com/p/dark-matter-data/wiki/MVWPanoramica
Giovanni

Risposte:


447

Rappresenta davvero qualsiasi cosa, come in qualunque cosa funzioni per te

MVC vs MVVM vs MVP. Che argomento controverso su cui molti sviluppatori possono passare ore e ore a discutere e discutere.

Per diversi anni + AngularJS è stato più vicino a MVC (o meglio a una delle sue varianti lato client), ma nel tempo e grazie a molti refactoring e miglioramenti api, ora è più vicino a MVVM - l'oggetto $ scope potrebbe essere considerato il ViewModel che è essendo decorato da una funzione che chiamiamo Controller.

Essere in grado di classificare un framework e inserirlo in uno dei bucket MV * presenta alcuni vantaggi. Può aiutare gli sviluppatori a sentirsi più a proprio agio con le sue API rendendo più semplice la creazione di un modello mentale che rappresenta l'applicazione che viene costruita con il framework. Può anche aiutare a stabilire la terminologia utilizzata dagli sviluppatori.

Detto questo, preferirei vedere gli sviluppatori costruire app di kick-ass che sono ben progettate e seguono la separazione delle preoccupazioni, piuttosto che vederle perdere tempo a discutere di sciocchezze MV *. E per questo motivo, dichiaro AngularJS come framework MVW - Model-View-qualunque. Dove Qualunque cosa significa "qualunque cosa funzioni per te" .

Angular offre molta flessibilità per separare in modo gradevole la logica di presentazione dalla logica aziendale e dallo stato di presentazione. Utilizzalo per alimentare la tua produttività e la manutenibilità dell'applicazione piuttosto che discussioni accese su cose che alla fine della giornata non contano molto.


8
@ FrançoisWahl: ho detto la stessa cosa a me stesso non cinque secondi prima di leggere il tuo commento. MV * probabilmente sarebbe stato più immediatamente evidente per la stragrande maggioranza degli sviluppatori di software che probabilmente hanno già familiarità con l'onnipresente carattere jolly '*'.
David Frye,

2
Non puoi Google MV *. Inoltre ... "Qualunque cosa" trasmette la frustrazione che molte persone provano quando discutono della semantica di MVx
Clintm,


22

Detto questo, preferirei vedere gli sviluppatori costruire app di kick-ass che sono ben progettate e seguono la separazione delle preoccupazioni, piuttosto che vederle perdere tempo a discutere di sciocchezze MV *. E per questo motivo, dichiaro AngularJS come framework MVW - Model-View-qualunque. Dove Qualunque cosa significa "qualunque cosa funzioni per te".

Crediti: AngularJS Post - Igor Minar



1

Ritengo che MWV (Model View qualunque) o MV * sia un termine più flessibile per descrivere alcune delle unicità di Angularjs secondo me. Mi ha aiutato a capire che è più di un framework JavaScript MVC (Model View Controller), ma usa ancora MVC in quanto ha una vista modello e controller.

Può anche essere considerato come un modello MVP (Model View Presenter). Penso a un presentatore come la logica di business dell'interfaccia utente in Angularjs per la vista. Ad esempio utilizzando filtri in grado di formattare i dati per la visualizzazione. Non è una logica aziendale, ma la logica di visualizzazione e mi ricorda il modello MVP che ho usato in GWT.

Inoltre, può anche essere un MVVM (Model View View Model) la parte View Model essendo l'associazione bidirezionale tra i due. Infine, è MVW in quanto ha altri modelli che è possibile utilizzare e menzionati da @Steve Chambers.

Concordo con le altre risposte sul fatto che diventare pedanti su questi termini può essere dannoso, poiché il punto è capire i concetti dai termini, ma allo stesso modo, comprendere appieno i termini aiuta quando si progetta il loro codice dell'applicazione, sapendo cosa va dove e perché.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.