Vues, contrôleurs et publication UI
Statut documentaire : reference — voir Maturité et preuves.
La couche UI de logiCells publie des projections interactives du modèle exécutable. Une vue n'est ni le concept métier lui-même ni une classe graphique : elle décrit comment un concept, une relation, une collection, un processus ou un service est présenté dans un contexte d'interaction.
Principe
Une vue doit être lue dans cet ordre :
- projection conceptuelle — quel objet ou ensemble du modèle est exposé ;
- intention d'usage — explorer, sélectionner, consulter, éditer, valider, naviguer ;
- composants fonctionnels — champs, listes, vues tabulaires, boutons, régions, panneaux ;
- renderer concret — Web, desktop, mobile ou autre cible.
Le renderer arrive en dernier. Le modèle métier et les métadonnées de vue ne doivent pas dépendre d'une bibliothèque graphique particulière.
Contrôleur de page
Le contrôleur de page coordonne l'état local de la vue, les datasets/cursors, les composants fonctionnels et les événements visuels. Il constitue un bus local d'interaction, mais ne remplace pas les actions, règles, processus ou services du modèle.
Une interaction qui modifie le métier doit remonter vers une capacité métier explicite. Une interaction purement visuelle peut rester locale à la page.
Séparation des responsabilités
| Couche | Responsabilité |
|---|---|
| Modèle conceptuel | sens métier, relations, règles, actions, processus |
| Vue | projection, contexte, intention d'interaction |
| UXfc / composant fonctionnel | fonction attendue de l'interaction |
| Contrôleur de page | coordination locale, événements, état de page |
| Renderer | apparence, widgets, layout, comportements propres à la cible |
Portabilité
Le même concept peut être projeté en liste, formulaire, dashboard, page Web, client desktop, expérience mobile ou surface de service. La portabilité dépend du maintien de cette séparation.
À éviter
- placer des règles métier dans un composant visuel ;
- coder l'accès aux données directement dans un widget ;
- faire dépendre la définition d'une vue d'une classe UI native ;
- traiter un événement visuel local comme un contrat métier public ;
- considérer une vue comme l'unique représentation possible d'un concept.
Voir aussi :