Hierarchical Model View Controller
From CSSEMediaWiki
Revision as of 08:55, 18 October 2010 by Nelson Shaw (Talk | contribs)
Hierarchical Model View Controller (HMVC) is an extension on the traditional Model view controller (MVC) architecture. It's main purpose is for use in web applications. The HMVC came about as a solution to scalability problems present in applications which used MVC. The solution was to convert the standard MVC into a hierarchy of parent child MVC layers.
Each MVC subgroup (triad) is independent from one another, but can communicate via their controllers. This allows for the software to be distributed over multiple locations.
Advantages of HMVC
- Modularization - Reduction of dependencies between the disparate parts of the application.
- Organization - Having a folder for each of the relevant triads makes for a lighter work load.
- Re-usability - By nature of the design it is easy to reuse nearly every piece of code.
- Extendibility - Makes the application more extensible without sacrificing ease of maintenance.