2015_2016:s3:concprogobjet:td:td2
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 2015_2016:s3:concprogobjet:td:td2 [2018/09/16 20:53] – [Architecture : Interface graphique et contrôleur] blay | 2015_2016:s3:concprogobjet:td:td2 [2018/09/16 21:08] (current) – [Architecture : Persistance simplifiée] blay | ||
|---|---|---|---|
| Line 58: | Line 58: | ||
| ===== Architecture : Interface graphique et contrôleur ===== | ===== Architecture : Interface graphique et contrôleur ===== | ||
| L' | L' | ||
| - | * L' | + | * Le **programme principal** consiste à créer créer un controleur et à le démarrer. |
| + | <code java> | ||
| + | public static void main(String[] args) throws Exception { | ||
| + | Controleur c = new Controleur(); | ||
| + | c.start(); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | * L'**interface** n' | ||
| * Elle ne connait pas non plus le contrôleur dans cet exercice. | * Elle ne connait pas non plus le contrôleur dans cet exercice. | ||
| * Voici{{: | * Voici{{: | ||
| - | * Le contrôleur joue le rôle de chef d' | + | * Le **contrôleur** joue le rôle de chef d' |
| * Il ne peut pas utiliser System.out...; | * Il ne peut pas utiliser System.out...; | ||
| * Il n'a pas le droit de modifier la partie métier sans passer par des objets métiers. | * Il n'a pas le droit de modifier la partie métier sans passer par des objets métiers. | ||
| * 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. | ||
| - | < | + | < |
| public class Controleur { | public class Controleur { | ||
| | | ||
| Line 102: | Line 110: | ||
| }} | }} | ||
| </ | </ | ||
| - | | + | |
| - | - Quel type de contrôleur avez-vous défini en respectant les directives données? Est-il " | + | |
| + | | ||
| + | - 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 | + | - Visualisez |
| - 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(); | ||
| - | </ | ||
| - | |||
| - | 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 ' | ||
| - | creerBus(); | ||
| - | start(); | ||
| - | break; | ||
| - | case ' | ||
| - | creerBoite(); | ||
| - | start(); | ||
| - | break; | ||
| - | ..... | ||
| - | |||
| - | private void creerBus() { | ||
| - | String nomDuBus = ui.getNomDuBus(registre.getNomsBus()); | ||
| - | boolean reussi = registre.creerBus(nomDuBus); | ||
| - | if (!reussi) | ||
| - | ui.afficher(" | ||
| - | else | ||
| - | ui.afficher(" | ||
| - | } | ||
| - | </ | ||
| - | |||
| ===== Architecture : Persistance simplifiée ===== | ===== Architecture : Persistance simplifiée ===== | ||
| - | 1- On désire sauvegarder l' | + | 1- On désire sauvegarder l' |
| - | Vous pouvez utiliser | + | Vous pouvez utiliser {{:2018_2019: |
| **Exemple de sauvegarde :** | **Exemple de sauvegarde :** | ||
| Line 157: | Line 131: | ||
| <code java> | <code java> | ||
| Object o = Memoire.read(NomFichier); | Object o = Memoire.read(NomFichier); | ||
| - | | + | if (o instanceof |
| - | | + | registre = (Gestionnaire) o;} |
| - | registre = (RegistreDeBus) o; | + | |
| } | } | ||
| </ | </ | ||
2015_2016/s3/concprogobjet/td/td2.1537131239.txt.gz · Last modified: 2018/09/16 20:53 by blay