L'osservazione dei valori-chiave tra il modello e la vista viola MVC?

1

In MVC il controller è l'intermediario tra la vista e il modello. Pertanto, il Controller deve essere quello che osserva o riceve modifiche dal Modello e visualizza e aggiorna l'altro di conseguenza. So per certo che non infrange MVC.

E se il controllore registra e annulla la registrazione della vista come osservatore del modello? Ciò che la vista vorrebbe sapere è il percorso chiave, che tipo di cambiamento e qual è il valore senza avere un riferimento all'oggetto del modello. Quindi se assegni model.title = @"new title" la Vista può mappare quella modifica di proprietà a un'azione, come una sottoclasse UILabel che assegna self.text = @"new title" . Questo rompe MVC?

    
posta Korey Hinton 06.01.2015 - 20:16
fonte

1 risposta

3

No, se la vista osserva il modello (o esegue altre azioni di lettura sul modello) è un'implementazione valida del modello MVC.

Ci sono due modi principali in cui il pattern MVC viene tipicamente implementato e differiscono principalmente nel modo in cui le informazioni dal modello arrivano alla vista.

Nella prima forma, le informazioni tutte passano attraverso il Controller, che è responsabile di alimentare la Vista con le informazioni di cui ha bisogno e di trasformare le strutture di dati complesse utilizzate nel Modello (come le classi) in matrici / dizionari semplici con cui funziona View. Questa forma è abbastanza popolare con i framework web con la filosofia che gli esperti di UX con esperienza di codifica limitata possono creare le Views.

Nel secondo modulo, il Controller potrebbe connettere la Vista e il Modello tra loro, ma la Vista stessa determina quali informazioni recuperare dal Modello. In questa forma, la vista può anche osservare il modello ed essere informato delle modifiche senza che il controllore sia coinvolto nell'aggiornamento. Mi aspetto più questo modulo con applicazioni interattive (non web).

    
risposta data 07.01.2015 - 11:18
fonte

Leggi altre domande sui tag