Ho creato inavvertitamente un mediatore nel mio MVC?

2

Attualmente sto lavorando al mio primo progetto biggish. È un'applicazione facebook di frontend che da martedì scorso ha occupato circa 6000-8000 LOC.

Dico questo perché sto usando MVC, un'architettura che non ho mai forzato rigidamente in nessuno dei miei progetti di hobby. Ho letto parte del libro PureMVC, ma non ho compreso il concetto del Mediatore. Dal momento che non ho capito e non ne ho visto il bisogno, il mio progetto non ha ancora utilizzato un solo mediatore.

Ieri sono tornato alla scheda di progettazione a causa di alcune modifiche ai requisiti e ho notato che potevo spostare tutti gli elementi dell'interfaccia utente dalla vista e nella sua classe. The View essenzialmente ha gestito solo la vita dell'interfaccia utente e tutti gli eventi dall'interfaccia utente o dal modello.

Tecnicamente, la vista è diventata un "mediatore" tra il modello e l'interfaccia utente. Pertanto, ho realizzato oggi, potrei semplicemente spostare tutta la mia interfaccia utente nella vista e creare una classe mediatore che gestisca tutti gli eventi dalla vista e dal modello.

La mia comprensione è corretta nel ritenere che io abbia delegato la mia vista come è attualmente (gestendo gli eventi dal modello e dall'interfaccia utente) in un mediatore e che la classe dell'interfaccia utente è ciò che dovrebbe essere la vista?

    
posta IAE 10.03.2012 - 13:27
fonte

2 risposte

5

La vista dovrebbe essere il codice per l'interfaccia utente e il mediatore dovrebbe gestire gli eventi dalla vista. Il modello dovrebbe essere separato dalla vista e avere i suoi "eventi" gestiti da un proxy. Il tuo mediatore può interagire con il tuo proxy, ma il tuo proxy o modello non dovrebbe interagire direttamente con la tua vista. Vedi il diagramma concettuale PureMVC su come le cose dovrebbero interagire all'interno del framework.

    
risposta data 12.12.2012 - 17:56
fonte
1

In ASP.NET MVC, la vista crea codice HTML che invia messaggi al controller. Cioè, una vista può inviare una "richiesta modellata" a un controllore. Il controller di solito risponde con una vista tipizzata, questo tipo è un "ViewModel". Questo "ViewModel" è pieno di dati forniti dal controller.

Un tipico MVVM è una pagina Web (View) che ha JavaScript che ottiene informazioni di visualizzazione (JSON, XML, ecc.) o un'altra nuova vista, da un "ViewModel". Esempi sono: Gmail e Telerik Kendo UI.

    
risposta data 31.10.2012 - 23:36
fonte

Leggi altre domande sui tag