Le framework PLAY! 2.0

Le modèle MVC


Une application Play suit le modèle MVC appliquée à l'architecture Web. Ce modèle divise l'application en couches distinctes: la couche de présentation et la couche Modèle. La couche de présentation est également divisé en une couche vue et une couche contrôleur.

Le modèle est la représentation spécifique de l'information sur laquelle l'application fonctionne. C’est le modèle qui ajoute un «sens» à des données brutes. La plupart des applications utilisent un mécanisme de stockage persistant, comme une base de données pour stocker les données. Le modèle MVC ne mentionne pas spécifiquement la couche d'accès aux données, car elle est considéré comme encapsulé dans le modèle.

La vue est une représentation du modèle dans une forme appropriée pour les interactions, en général une interface utilisateur. Plusieurs vues peuvent exister pour un modèle unique, à des fins différentes. Dans une application Web, la vue est généralement rendue dans un «format Web" comme le HTML, XML ou JSON.

Le contrôleur répond aux événements (typiquement les actions des utilisateurs) et les traites. Il peut également induire des changements sur le modèle. Dans une application Web, les événements sont généralement les requêtes HTTP: un contrôleur écoute les requêtes HTTP, extrait les données pertinentes à partir de "l'événement", tels que les paramètres de chaîne de requête, en-têtes de demande ... Et applique les modifications sur les objets du modèle sous-jacent.

MVC


Dans une application Play ces trois couches sont définies dans le répertoire app, chacun dans un paquet séparé:

app / controllers

Un contrôleur est une classe Java où chaque méthode public, statique, est une action. Au sens play, une action est un point d'entrée Java invoquée lorsqu'une demande HTTP est reçue. Le code Java de la classe Controller n'est pas vraiment orienté objet: il s'agit principalement du code procédural. La méthode d'action extrait les données pertinentes de la requête HTTP, lit ou met à jour les objets du modèle, et renvoie un résultat qui est enveloppé dans une réponse HTTP.

app / models

La couche modèle est un ensemble de classes Java utilisant les fonctionnalités orientées objet disponibles dans le langage Java. Elle contient les structures de données et les opérations via lesquels l’application agit sur les données.

app / views

La plupart des vues de l'application sont générés à l'aide du système de template fournis par Play. Le contrôleur reçoit des données à partir du modèle, puis applique un template pour formater ces objets. Le template peut contenir du HTML, XML, JSON ... avec des directives spécifiques utilisées pour générer dynamiquement la représentation du modèle.




ESIPE-MLV