Point d'ouverture "Memory"
Le point d'ouverture Memory permet la délégation du stockage et de l'indexation des cas. Il permet de gérer la cohérence de l'organisation des cas et de l'organisation de l'indexation, qui sont les deux sous-tâches principales de l'organisation de la mémoire.
Il est proposé de séparer la responsabilité du stockage (logique et physique) des cas et celle de la gestion de leur indexation (cf. Figure 1). La mémoire (classe Memory ) est alors composée d'une base de cas (classe CaseBase ) et d'une base d'index (classe IndexBase ). On fait ainsi apparaître trois points d'ouverture dans lesquels la mémoire est une façade (patron de conception Façade ) gérant l'accès global aux cas. Une base de cas encapsule l'accès aux cas étant donné leur identificateur : elle permet de parcourir l'ensemble des cas, de connaître leur nombre et d'ajouter ou de retirer un cas de cet ensemble. La base d'index permet de réunir un ensemble d'index dont chacun permet l'accès aux identificateurs des cas indexés à partir de leurs indices. Cette modélisation simplifie la maintenance de la base de cas et des index. En effet, elle permet d'effectuer des modifications et des évolutions tout en gardant le contrôle de la cohérence sous la responsabilité de la mémoire. Par exemple, l'ajout d'un cas peut être effectué directement dans une base de cas ou au niveau de la mémoire. Dans ce dernier cas, il sera automatiquement à la fois ajouté dans la base de cas et indexé dans l'index par défaut. De même, le retrait d'un cas au niveau de la mémoire implique son retrait de la base de cas et des index. D'autres fonctions de gestion sont également définies (cf. Figure 1) : reconstruction des index à partir des cas de la base (méthode buildFromCaseBase ) et effacement des cas non indexés (méthode deleteNotIndexedCases ). Cette gestion peut alors être modifiée ou enrichie en spécialisant le comportement de la mémoire.
Figure 1 : délégation du stockage et de l'indexation
|
Last modified: Wed Jul 25 15:51:07 MEST 2001