Extracted from Microsoft Composite UI Applicatino Block Help pages.
The two most common patterns are Model-View-Controller (MVC) and
Model-View-Presenter (MVP). Both models are equally valid, though the MVP model
is generally easier to implement. MVC requires events that are exposed from the
model to update the view, whereas MVP depends on the presenter to update the
view directly.