4.2.2.2 Le Framework de développement
Afin d'atteindre les objectifs fixés, par l'adoption de
l'architecture logicielle précédemment présentée,
nous avons opté pour le développement d'un framework, dit
MVCFramework, qui a pour objectif d'uniformiser et de
réutiliser les mêmes mécanismes pour l'ensemble des
segments de code du dialeur. Aussi, pour ce faire, le framework,
illustré à la figure 4.4, met-il à disposition les
concepts suivants :
- le modèle : concept qui permet de
faire une distinction claire entre la couche métier et tout autre couche
de l'application en développement. Il est implémenté au
travers des classes et interfaces d'implémentations suivantes :
Event, Listener, Model et SuperModel. L'on
peut, ainsi obtenir des modèles simples par la combinaison
d'Event, Listener et Model, ou des modèles
composés (SuperModel) à partir de modèles simples
et/ou d'autres modèles composés;
- la vue : concept par lequel une application
ou un composant peut avoir une interface homme-machine. L'on peut ainsi
définir une vue simple par la classe d'implémentation View
ou une vue composée par la classe d'implémentation
SuperView. L'on entend par vue composée : une vue obtenue par
combinaison de vues simples et/ou d'autres vues
composées;
- le contrôleur : concept qui permet
l'encapsulation de la logique de communication entre la couche métier,
représenté par le concept modèle, et la couche
utilisateur, représenté par le concept vue. L'on a ainsi deux
types de contrôleur : d'une part le contrôleur de modèle et
de vue simples implémenté par la classe Controller et
d'autre part le contrôleur de modèles et de vues composés,
implémenté par la classe SuperController ;
- la resource: concept qui fournit à
une application ou à un composant, entre autres : la possibilité
de mettre à disposition des paramètres de configuration
(Parameter et Resource); des paramètres et/ou des ressources
multilingues (MultilingualParameter, MultilingualResource); des
ressources ou des paramètres constitués à partir de
ressources ou paramètres existants déjà
(SuperMultilingualResource) et des méthodes localisées
dans la classe d'implémentation Helper, qui permettent
d'accéder à des ressources physiques que sont notamment des
images et des fichiers de configuration;
- le module: concept qui permet d'une part de
déployer un composant comme une application autonome par la classe
d'implémentation Module et d'autre par de constituer une
application par greffe de plusieurs modules existants, par l'utilisation de la
classe d'implémentation SuperModule.
L'ensemble des concepts de MVCFramework permet de mettre en
oeuvre notamment quatre types de composants, que sont :
- les composants basiques sont des composants
dont la manipulation se fait au travers d'un contrôleur ou d'un super
contrôleur. Ils sont uniquement constitués de modèle(s), de
vue(s) et de contrôleur(s);
- les composants ressources sont des
ressources qui peuvent être utilisées par d'autres composants,
notamment des paramètres de configuration. Ce type de composant n'offre
que des services et n'ont pas de traitements particuliers à
exécuter, du moins pas de traitement directement en rapport avec la
logique métier de l'application en cours de développement;
- les composants réutilisables sont
des composants basiques auxquels l'on a associé des composants
ressources, le tout étant manipulable depuis un module ou un super
module;
- le composant Application au contraire des
autres composants, est un composant directement implémenté dans
MVCFramework. Il est la représentation abstraite de l'application en
cours de développement. C'est sur lui que l'on greffe les autres
composants, à l'instar d'une plate-forme sur laquelle l'on greffe de
nouveaux plugins.
FIGURE 4.4 Diagramme de conception du Framework MVCFramework
En somme, MVCFramework est un framework de
développement qui a été conçu et
implémenté dans le but de permettre un développement
modulaire et multilingue du dialeur; ceci en s'inspirant du style architectural
interactif Model-View-Controller.
|