In MVP, la vista dovrebbe esporre i controlli stessi o solo i loro valori?

4

Diciamo che ho un TextBox nella mia vista (in un approccio passivo-vista). Dovrebbe esporre l'oggetto TextBox stesso al Presenter, o dovrebbe esporre solo la proprietà Text di questo oggetto? Inoltre, che dire di un caso in cui il presentatore ha bisogno non solo della proprietà Text ma anche di altre proprietà?

Per me, sembra che entrambi gli approcci abbiano pro e contro. Se esporremo solo specifiche proprietà TextBox , diamo il controllo di Presenter sulle proprietà precise che vogliamo controllare. D'altra parte, questo è un sacco di codice se abbiamo molte proprietà TextBox che vogliamo esporre.

Se esponiamo il controllo stesso, stiamo risparmiando molto codice, ma diamo al presentatore il potere di modificare le proprietà che non intendevamo modificare.

Qual è il modo comune per affrontare questo problema?

    
posta Sipo 17.09.2018 - 18:41
fonte

1 risposta

4

La creazione di test automatici per i componenti sarà molto più semplice se si esegue il codice sulle interfacce (anziché sulle classi concrete) del modello e della vista. Ora ripensa la tua domanda: vuoi esporre le scelte delle classi di controllo della vista concreta in tali interfacce? - probabilmente no.

Da questa prospettiva la risposta è chiara: esporre le proprietà e i metodi di cui hai bisogno e non di più.

    
risposta data 19.09.2018 - 21:18
fonte

Leggi altre domande sui tag