From MVC to MOVE

Conrad Irvin has a nice post on how to fix some of the problems with the ubiquitous MVC (“Model View Controller”) architecture that’s used in so many user interface frameworks, from rich clients to web apps.

He calls the model MOVE, i.e Models, Operations, Views and Events: his Models capture the information in the application, Views render it and, when the user interacts with a View, raise Events that are received by Operations that modify the Model.

In InfoGrid, we obviously use the word model more precisely by distinguishing what we call a model (the schema) and the graph of objects (the data) — together what he calls the Model.

Viewlets are exactly what he means with a View.

Where it’s getting interesting is Operations and Events: since the InfoGrid HttpShell has been supporting HttpShellHandlers, these handlers are almost exactly what he describes as operations. We can think of the symbolic names of handlers as used in a JSP page as the Events in his model, and the binding of symbolic names to handlers as the mapping between Events and Operations.

So we like his description of an improved MVC model, and offer an example where it has been implemented.