previous up next contents


L'accès aux objets

 


  
Figure 5.12: La composante responsable de la sauvegarde et du chargement du graphe des objets. Une application qui est basée sur le modèle de classes présenté dans ce chapitre, commence naturellement par utiliser cette classe afin de récupérer la totalité du graphe des objets persistants.
\begin{figure}
\begin{center}
\ifthenelse{\equal{\linewidth}{}}
{\epsfig{clip...
...=\linewidth,bbllx=30,bblly=550,bburx=565,bbury=785} }
\end{center} \end{figure}

La classe DB_AccesExt est le point d'entrée à toute l'information qui est stockée dans le modèle statique. Cette information est bien sûr sauvegardée auparavant par cette même classe dans un fichier de données à l'aide du mécanisme de linéarisation de Java (cf. section 5.5.2). De plus, cette classe permet à une application de choisir quelle base d'information elle a besoin de charger, dans le cas où il y a plusieurs qui ont été sauvegardées auparavant.

Une fois précisé le fichier de la base d'informations souhaitée, la classe DB_AccesExt initialise un objet de type DB_Racine qui donne accès à quatre dépositaires d'objets, appelés ici dictionnaires :

1.
le dictionnaire des CS, donnant accès à toutes les CS établies dans le système
2.
le dictionnaire des constructions de SST (cf. 4.3.4)
3.
le dictionnaire des primitives (cf. 2)
4.
le dictionnaire des entités textuelles types, i.e. les lexies, textes et anagnoses types ainsi que l'entité textuelle racine.

Le résultat retourné par l'appel à la méthode de chargement ou d'initialisation (load() ou new()) de DB_AccesExt (toutes ses méthodes sont déclarées statiques) est un objet de la classe DB_InterfaceDB qui contient une référence à l'objet DB_Racine qui a été initialisé. Tous les accès au modèle passent ensuite par cet objet de type DB_InterfaceDB. L'application devient un << client >> au services du modèle (au rôle de << serveur >>). La classe DB_InterfaceDB ne fait pas partie des données persistantes et elle peut être enrichie avec de nouvelles fonctionnalités, si les besoins le demandent.

C'est seulement à travers l'objet d'interface que les dépositaires des CS et des entités types sont lus et modifiés par les applications. Les dictionnaires de constructions et de primitives sont ouverts, par contre, seulement en lecture par une application. L'ingénieur du système a, bien sûr, la possibilité de les modifier en vue d'une évolution du système, notamment en ajoutant de nouvelles constructions ou primitives. Une application client, basée sur ce modèle de classes, peut à tout moment récupérer la liste actuelle de constructions et de primitives en appelant les méthodes relatives des deux classes :

\begin{displaymath}\texttt{DB\_DicoDesConstructions.getTypesDeConstruction()}\end{displaymath}

et

\begin{displaymath}\texttt{DB\_DicoDesPrimitives.getListeDesPrimitives()}\end{displaymath}


previous up next contents
Theodore Thlivitis, 1998