InfoQ Homepage News Fowler Begins Updating Patterns of EAA Including GUI Patterns

Fowler Begins Updating Patterns of EAA Including GUI Patterns

Martin Fowler has started working on an update to his acclaimed book Patterns of Enterprise Application Architecture over the last few months. One of the major areas of focus thus far has been patterns relating to GUI architectures. This is an area of software development that has been lacking architectural documentation in comparison to patterns for use in enterprise web development. Fowler briefly covers the history of patterns in GUI development.  Then he discusses the problems with using a pure MVC pattern and provides several modified patterns that work well for today's modern GUI development projects.  Patterns in progress include Supervising Controller, Passive View and Presentation Model.

Supervising Controller is defined as:

Factor the UI into a view and controller where the view handles simple mapping to the underlying model and the the controller handles input response and complex view logic.
Presentation Model as:
Represent the state and behavior of the presentation independently of the GUI controls used in the interface
Passive View as:

A screen and components with all application specific behavior extracted into a controller so that the widgets have their state controlled entirely by controller.
All three of these patterns strive to prevent the complexity of an Autonomous View, and to improve testability.
We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.