I've looked at it some weeks ago. It would be nice if you added some tests for your example. I am wondering why do you have an interface for the presenter and not just a concrete class?
Cheers, Alen On Aug 18, 6:06 am, Eduardo Nunes <[email protected]> wrote: > I would recommend both of you take a look > inhttp://gwt-mvp-sample.googlecode.com > It's an implementation and sample application using the MVP pattern. > I'm working on a new version and I will publish it as soon as > possible. > > Best regards, > Eduardo S. Nunes > > > > On Mon, Aug 17, 2009 at 5:23 PM, Alen Vrecko<[email protected]> wrote: > > > I am in a similar situation. Have some displays containing other > > displays. I am also using setters. But this is what I am experimenting > > with: > > > I have a Document editing UI that takes a file browser ui (each > > document can have corresponding files) and a single file upload ui. > > This is how it looks like: > > > // other presenters are injected > > DocumentEditor(Presenter) is ctor injected with > > +FileBrowserPresenter > > +SingleFileUploadPresenter > > +RpcService > > +EventBus > > > // the presenter is injected with the presenter > > DocumentEditorWidget is ctor injected with > > +DocumentEditorPresenter > > +SingleFileUploadWidget // created via new > > +FileBrowserWidget // created via new > > > that is right. I made the widget have a strong dependency on the > > presenter. I see the Presenter/View a wholesome unit. Where logic from > > the UI has been factored out in the presenter. > > > This is different from what is presented at the slides > > > PhoneEditWidget phoneEditWidget = new PhoneEditWidget(); > > PhoneEditor phoneEditor = new PhoneEditor(phoneEditWidget, > > rpcService); > > > I am doing > > > PhoneEditor phoneEditor = new PhoneEditor(phoneEditWidget, > > rpcService); > > PhoneEditWidget phoneEditWidget = new PhoneEditWidget(phoneEditor); > > > I can then do > > > @Inject Provider<DocumentEditorWidget> documentEditors; > > panel.add(documentEditors.get()); > > > with no problems. > > > the bindDisplay and display of DocumentEditor look like > > > public static interface Display{ > > ... > > FileBrowser.Display getFileBrowser(); > > SingleFileUpload.Display getUpload(); > > } > > > public void bindDisplay(Display display) { > > ... > > fileBrowserPresenter.bindDisplay(display.getFileBrowser()); > > uploadPresenter.bindDisplay(display.getUpload()); > > } > > > I can't really call this a best practice. Will see what the code will > > tell me after some more time. Am also interested in what other people > > are doing. > > > Cheers > > Alen > > -- > Eduardo S. Nuneshttp://e-nunes.com.br --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-guice?hl=en -~----------~----~----~----~------~----~------~--~---
