Patron de conception modèle-vue-contrôleur
Le patron de conception modèle-vue-contrôleur spécifie qu'une application se compose d'un modèle de données, d'informations de présentation et d'informations de contrôle. Le patron exige que chacun de ces éléments soit séparés en différents objets.
Le model (par exemple, les informations de données) ne contient que les données d'application pures ; il ne contient aucune logique décrivant comment présenter les données à un utilisateur.
Le view (par exemple, les informations de présentation) présente les données du modèle à l'utilisateur. La vue sait comment accéder aux données du modèle, mais elle ne sait pas ce que signifient ces données ou ce que l'utilisateur peut faire pour le manipuler.
Enfin, le controller (par exemple, les informations de contrôle) existe entre la vue et le modèle. Il écoute les événements déclenchés par la vue (ou une autre source externe) et exécute la réaction appropriée à ces événements. Dans la plupart des cas, la réaction est d'appeler une méthode sur le modèle. Etant donné que la vue et le modèle sont connectés par un mécanisme de notification, le résultat de cette action est alors automatiquement reflété dans la vue.
La plupart des applications d'aujourd'hui suivent ce patron, beaucoup avec de légères variations. Par exemple, certaines applications combinent la vue et le contrôleur en une seule classe parce qu'ils sont déjà très étroitement couplés. Toutes les variations encouragent fortement la séparation des données et de leur présentation. Cela rend non seulement la structure d'une application plus simple, mais permet également la réutilisation du code.
Etant donné qu'il existe de nombreuses publications décrivant le patron, ainsi que de nombreux exemples, ce document ne décrit pas le patron en détail.
Le diagramme suivant montre comment le patron de conception MVC s'applique à HCL Commerce. Ce patron est utilisé à la fois pour les applications Web et pour les clients riches et peut utiliser soit Struts soit la structure de services Web.