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?