Nell'architettura MVP, come dovrebbe il livello Modello ottenere i suoi dati?

3

Sono nuovo nello sviluppo di applicazioni ad alto livello (Android / Java) e ho imparato a conoscere l'architettura MVP (Model, View, Presenter). Ma non è chiaro quale dovrebbe essere il ruolo e il design del livello Model.

La maggior parte delle esercitazioni e dei blog su MVP discute direttamente e mostra esempi dei livelli View e Presenter, ma salta o sfiorano solo leggermente il Modello.

Se un'API che trasmette dati tramite eventi ha il callback gestito nel Modello o nel Presenter e in questo caso è compito del Presentatore notificare al Modello di nuovi dati dell'API o del lavoro del Modello di notificare al Presentatore che è cambiato lo stato? Chi è responsabile della gestione degli aggiornamenti del Modello non originati dalla Vista?

Capisco che il Modello debba memorizzare i dati che devono essere visualizzati dalla Vista, ed è responsabile del modo in cui i dati vengono gestiti. Ma come dovrebbe ottenere i suoi dati che non provengono specificatamente dalla View?

    
posta Levi Amen 10.08.2017 - 22:57
fonte

1 risposta

3

Il modello MVP separa fondamentalmente il modello, da una vista attraverso un presentatore. Qui, il relatore ascolta qualsiasi interazione dell'utente attraverso la vista. Quindi il relatore recupera le informazioni rilevanti da un particolare servizio (forse un'API). Successivamente, il relatore aggiorna sia la vista che i dati. Di conseguenza puoi vedere che il modello e i livelli di visualizzazione sono completamente isolati l'uno dall'altro.

Qui sotto puoi vedere un'illustrazione schematica:

    
risposta data 29.09.2017 - 14:53
fonte

Leggi altre domande sui tag