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 revisionPrevious revision
Next revision
Previous revision
2015_2016:s3:concprogobjet:td:td2 [2018/09/16 20:58] – [Architecture : Interface graphique et contrôleur] blay2015_2016:s3:concprogobjet:td:td2 [2018/09/16 21:08] (current) – [Architecture : Persistance simplifiée] blay
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(); + c.start(); 
- c.start(); + } 
-}+
 </code> </code>
    * L'**interface** n'interagit jamais directement avec le métier.     * L'**interface** n'interagit jamais directement avec le métier. 
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 110: Line 110:
         }}         }}
 </code> </code>
-  - Développez le code correspondant. **[[https://mbf-iut.i3s.unice.fr/doku.php?id=2015_2016:s3:concprogobjet:td:td2&#aide|Utilisez les informations et codes donnés]]** ci-dessous+ 
-  - Quel type de contrôleur avez-vous défini en respectant les directives données? Est-il "bon"? Que feriez-vous sinon pour l'améliorer?+ 
 +  - Développez le code correspondant.  
 +  - 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 165: 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.1537131493.txt.gz · Last modified: 2018/09/16 20:58 by blay