Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

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.

Rate this Article