This article outlines the core patterns that being used with the JBoss AS 7 Web Management Console.
Model View Presenter
A derivation of the good old MVC, that considered being best practice in the GWT community.
The main motivation for this pattern is simplify testing of GWT applications by keeping the actual views
as dumb as possible. Some introductions can be found here:
- Model View Presenter Pattern (Martin Fowler)
- Best Practices For Architecting Your GWT App (05/27/2009) (2009-05-27)
- TotT: Be an MVP of GUI Testing (2009-02-05)
- TotT: Testing GWT without GwtTestCase (2009-08-08)
After some considerations, we decided to stick with the GWT-Platform library, which seems to be a well-thought-of implementation of an MVP API. Besides meta data driven approach (annotations, boilerplate), it also supports hierarchical presenters and more sophisticated use cases through the use of presenter proxies (authentication, code splitting, etc).
Relationships
Example taken from the current codebase (server/threads/...)
http://community.jboss.org/servlet/JiveServlet/downloadImage/102-16462-6-11323/450-354/mvp-example.png
Examples
- A presenter implementation
- A corresponding view