Cerco di lavorare con il pattern MVP Passive View per la prima volta. Ho le basi ma alcune piccole cose che ancora non capisco.
Il mio esempio: immagina una semplice vista contenente una casella di testo, un pulsante e due etichette. Quando l'utente fa clic sul pulsante, il testo all'interno della casella di testo deve essere mostrato in entrambe le etichette.
Ora ho 2 possibilità.
-
Crea un'interfaccia di visualizzazione di piccole dimensioni con l'evento ButtonClicked, un metodo GetTextBoxContent e un metodo SetLabelContents. Quindi il presentatore si iscrive all'evento e lo gestisce chiamando i metodi descritti. Qui il presentatore non sa che ci sono più etichette. Chiama solo il metodo impostato una volta ed è fatto. Pertanto, le visualizzazioni devono sapere come gestirlo. Va bene per il modello di visualizzazione passiva?
-
Crea una grande interfaccia con l'evento ButtonClicked, i metodi GetTextBoxContent, SetLabel1 e SetLabel2. Il presentatore si iscriverebbe nuovamente all'evento, chiama GetTextBoxContent e quindi chiama ciascun metodo di etichetta separato separatamente. In questo modo la vista non sa di avere più etichette e il presentatore contiene quella logica.
Quale modo è corretto / migliore?
Grazie in anticipo!