The MVC framework for javascript applications

The real MVC. The Smalltalk MVC. The Gang of Four MVC.

Model - View - Controller

A model contains domain data. When a model changes, it informs its observers.

A view observes a model and represents its model's current state. A view has a controller. A view can have child views.

A controller decides what happens when a user interacts with the controller's view.

The three core design patterns of MVC (observer, composite, and strategy) are embedded in Maria's Model, View, and Controller objects. Other patterns traditionally included in MVC implementations (e.g. factory method and template) make appearances too.