Lurois Frédéric



4.2 Etude approfondie de notre structure :

 

 

Notre programme prenant de l’importance, nous nous sommes retrouvés à travailler, moi et Maurice, sur la même classe Editeur, nous nous sommes ainsi aperçu de la nécessitée de revoir la répartition des méthodes et des variables au sein de nos classes.

En effet, n’ayant pas encore une bonne connaissance des langages objets, nous n’avions pas vu que notre classe Editeur contenait trop de choses différentes, aussi bien des fonctions graphiques, que des fonctions travaillant sur le graphe et le fichier. En bref, nous avions un peu tout mis dans une même classe, mais cela ne correspondant pas à une vrai programmation objet, permettant une réutilisation et un remaniement facile  du programme, nous avons ré-étudié la chose.

 

Avec l’aide de Nicolas, nous avons donc remarqué qu’il était nécessaire de différencier totalement la partie graphique de la partie traitement des données, de telle sorte que chaque classe ne soit pas totalement dépendante des autres.

 

Nous avons donc choisi de re-diviser nos classes comme suit :

 

-         AutomatonEditor.class, contenant toutes les méthodes et variables permettant le traitement des données et du fichier.

-         EditorFrame.class, dans laquelle on déclarerait toute la partie graphique.

-         FileIOHandler.class, qui permettrait d’ouvrir et lire un fichier, renvoyant le contenu du fichier sous la forme d’une string (chaîne de caractères).

-         QuickSort.class, permet de trier des Vecteurs dans l’ordre alphabétique, utilisé lors de l’affichage et du stockage des données.

-         State.class, contient toutes les données caractérisant un état (son nom et ses actions associées)

 

J’ai donc repris le code réalisé alors et ré-organisé les méthodes, et séparé la partie graphique, dans EditorFrame et de la partie traitement des données, dans AutomatonEditor.

Nous avons donc pu nous partager totalement les classes, je me suis donc principalement occupé des classes AutomatonEditorFileIOHandler, QuickSort, MyDocumentHandler.

Je vais maintenant vous expliquer le travail que j’ai réalisé sur ces différentes classes.





-20-