Thunderbird/NextGeneration/MVC

From MozillaWiki
< Thunderbird‎ | NextGeneration
Revision as of 22:13, 14 August 2017 by BenB (talk | contribs) (Intro to MVC)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Application tiers

We will follow the mostly classic Smalltalk MVC model, with a slight adaption to the web. There are many derivations in use today, which are often conflicting, so we’ll describe what this means for a web-based application.

Definition of classic Smalltalk MVC: "MVC consists of three kinds of objects. The Model is the application object, the View is its screen presentation, and the Controller defines the way the user interface reacts to user input. [Other] user interface designs tended to lump these objects together. MVC decouples them to increase flexibility and reuse." – from "Design patterns" book by the "Gang of Four"

Lower level tiers must never access higher level tiers. But rather, higher level tiers drive and call lower level tiers.