Con MVC, le interazioni con periferiche autonome appartengono al Modello o al Controller?
-
03-07-2019 - |
Domanda
L'uso di MVC con un modello di osservatore, se un'azione dell'utente richiede il polling di un dispositivo (come una telecamera) per i dati, nel caso in cui il polling venga eseguito nel controller e il risultato venga trasmesso dal modello o una richiesta venga inviata al Il modello e il modello stesso eseguono il polling.
Questa domanda è il mio tentativo di riconciliare tutto ciò che sto leggendo che suscita i "controllori magri". con la mia intuizione massima che il Modello dovrebbe agire solo sui dati non acquisendoli.
(Nota: questa domanda potrebbe essere soggettiva. Non sono del tutto sicuro che ci sia una vera risposta a questa domanda. In caso contrario, sentiti libero di ripetere la replica poiché sarò molto interessato a sentire opinioni sull'argomento.)
Soluzione
Appartiene al controller. Il modello contiene le informazioni e le regole aziendali, il controller è essenzialmente l'interfaccia per tutto ciò che non è l'utente, le informazioni o una regola aziendale e la vista si occupa dell'interazione dell'utente.
Si potrebbe sostenere che anche la vista potrebbe controllare questo: il modello della fotocamera e i driver potrebbero essere determinati dall'utente e quindi rientrare in tale area.
Ma non mi aspetto che il modello abbia le interfacce periferiche.
-Adam
Altri suggerimenti
Il controller dovrebbe eseguire il polling. Il modello è un'istantanea dello stato nella mia mente, quindi gli stati della telecamera dovrebbero essere passati dal controller al modello.
potresti aggiungere un livello di servizio sottile sotto il controller e sopra il modello, questo ti consente di mettere tutto il tuo accesso al codice periferico in un unico posto