Ho implementato un'applicazione che utilizza MVP con GWT, che funziona molto bene per le viste che hanno un unico scopo. Ora, si è evoluto in visualizzazioni che stanno raggiungendo più scopi in un'unica finestra. Così ora ho una vista delle viste con ogni vista che ha il proprio presentatore. Ho utilizzato questo esempio come modello per la creazione dell'applicazione, dai un'occhiata.
Anche la "vista delle viste" ha un proprio presentatore, che crea un'istanza (o riceve) i presentatori per ciascuna delle altre visualizzazioni di cui ha bisogno per realizzare il suo scopo. Rivelo le interfacce degli eventi attraverso quei presentatori affinché il presentatore di "view of views" si agganci e ascolti e reagisca a ciò che accade all'interno di quegli altri presentatori & viste.
Le mie domande sono:
-
Sto ancora seguendo i principi MVP o ho violato la separazione delle preoccupazioni da qualche parte con i relatori che creano / ricevono e controllano altri presentatori? aka Dovrei farlo?
-
Quali sono alcuni altri schemi di progettazione per la creazione di interfacce composte anche da altre interfacce complesse?
Aggiornamento
In risposta alla domanda di Robert Harvey, c'è una difficoltà con il passare oggetti da un presentatore di una vista al presentatore della "vista delle viste" quando viene attivato un evento. Ad esempio, un pulsante contrassegna un ClickEvent e il gestore associato a questo dovrà raccogliere l'oggetto dati relativo a ClickEvent tramite un altro metodo rivelato dal relatore della vista. Quindi funziona, ma sentiamo che causerà più problemi in seguito, dato che questo tipo di gestione degli oggetti cresce in complessità.