User Tools

Site Tools


2015_2016:s3:concprogobjet:td:td2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2015_2016:s3:concprogobjet:td:td2 [2018/09/16 23:00]
blay [Architecture : Interface graphique et contrôleur]
2015_2016:s3:concprogobjet:td:td2 [2018/09/16 23:08]
blay [Architecture : Persistance simplifiée]
Line 59: Line 59:
 L'​objectif est ici de décomposer l'​application pour que :  L'​objectif est ici de décomposer l'​application pour que : 
    * Le **programme principal** consiste à créer créer un controleur et à le démarrer.    * Le **programme principal** consiste à créer créer un controleur et à le démarrer.
-<​code>​+<​code ​java>
  public static void main(String[] args) throws Exception {  public static void main(String[] args) throws Exception {
  Controleur c = new Controleur();​  Controleur c = new Controleur();​
Line 74: Line 74:
        * Il n'est pas autorisé à stocker la liste des bus etc. Pensez à utiliser le principe de délégation.        * Il n'est pas autorisé à stocker la liste des bus etc. Pensez à utiliser le principe de délégation.
        * Voici des extraits de code pour vous aider ci-après.        * Voici des extraits de code pour vous aider ci-après.
-<​code>​+<​code ​java>
 public class Controleur { public class Controleur {
     ​     ​
Line 115: Line 115:
   - Quel type de contrôleur avez-vous défini en respectant les directives données? ​   - Quel type de contrôleur avez-vous défini en respectant les directives données? ​
   - Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique.   - Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique.
-  - Visualisez ​vos codes sous la forme de diagrammes ​de séquences.\\ ''​Outils => Code => Instant Reverse to sequence diagram''​ {{ :​2015_2016:​s3:​concprogobjet:​td:​tosequencediagram.png?​300 |}}+  - Visualisez ​votre code correspondant à la création d'un forum sous la forme d'un diagramme ​de séquences.\\ ''​Outils => Code => Instant Reverse to sequence diagram''​ {{ :​2015_2016:​s3:​concprogobjet:​td:​tosequencediagram.png?​300 |}}
   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.
-==== aide ==== 
-**Pour vous aider** voici un exemple possible du programme principal dont vous pouvez vous inspirer :  
-<code java> 
-    Controleur c = new Controleur();​ 
-    c.start(); 
-</​code>​ 
- 
-Et pour le contrôleur :  
-<code java> 
-public class Controleur { 
-    RegistreDeBus registre = new RegistreDeBus();​ 
-    UI ui = new UI(); 
- 
-    public void start() { 
-        String commande = ui.lireCommande();​ 
-        switch (commande.charAt(0)) { 
-        case '​c':​ 
-            creerBus(); 
-            start(); 
-            break; 
-        case '​b':​ 
-            creerBoite();​ 
-            start(); 
-            break; 
-..... 
- 
-private void creerBus() { 
-        String nomDuBus = ui.getNomDuBus(registre.getNomsBus());​ 
-        boolean reussi = registre.creerBus(nomDuBus);​ 
-        if (!reussi) 
-            ui.afficher("​Erreur le bus existe déjà"​);​ 
-        else 
-            ui.afficher("​Bus " + nomDuBus + " créé"​);​ 
-    } 
-</​code>​ 
- 
  
 ===== Architecture : Persistance simplifiée ===== ===== Architecture : Persistance simplifiée =====
-1- On désire sauvegarder l'​ensemble des bus à chaque fin d'​exécution du programme principal et recharger l'​état des bus à chaque lancement du programme principal.+1- On désire sauvegarder l'​ensemble des forums ​à chaque fin d'​exécution du programme principal et recharger l'​état des forums ​à chaque lancement du programme principal.
  
-Vous pouvez utiliser ​le {{:2015_2016:​s3:​concprogobjet:td:​memoire.java|code suivant}}. Pour l'​utiliser il suffit que vos classes "​implements Serializable'​.+Vous pouvez utiliser {{:2018_2019:​s3:​concprogobjet:​memoire.java|le code suivant}}. Pour l'​utiliser il suffit que **vos classes "​implements Serializable'​**.
  
 **Exemple de sauvegarde :** **Exemple de sauvegarde :**
Line 167: Line 131:
 <code java> <code java>
         Object o  = Memoire.read(NomFichier);​         Object o  = Memoire.read(NomFichier);​
-        ​if (o != null) +        if (o instanceof ​Gestionnaire){ 
-            ​if (o instanceof ​RegistreDeBus+                registre = (Gestionnaire) o;}
-                registre = (RegistreDeBus) o;+
     }     }
 </​code>​ </​code>​
2015_2016/s3/concprogobjet/td/td2.txt · Last modified: 2018/09/16 23:08 by blay