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 [2015/09/16 14:21] – [Responsabilités : Analyse et développement de la partie Métier] 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 |
- | * Le contrôleur joue le rôle de chef d' | + | <code java> |
+ | public static void main(String[] args) throws Exception { | ||
+ | Controleur c = new Controleur(); | ||
+ | c.start(); | ||
+ | } | ||
- | Pour se concentrer sur l' | ||
- | Vous pouvez vous inspirer du {{: | ||
- | |||
- | Le contrôleur 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. | ||
- | |||
- | - Développez le code correspondant. **[[https:// | ||
- | - Quel type de contrôleur avez-vous défini en respectant les directives données? Est-il " | ||
- | - 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.\\ '' | ||
- | - 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(); | ||
</ | </ | ||
- | + | * L' | |
- | Et pour le contrôleur : | + | * Elle ne connait pas non plus le contrôleur |
+ | * Voici{{:2015_2016: | ||
+ | * Le **contrôleur** joue le rôle de chef d' | ||
+ | * 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'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. | ||
<code java> | <code java> | ||
public class Controleur { | public class Controleur { | ||
- | | + | |
- | | + | private Gestionnaire |
+ | private UserConsole | ||
- | public void start() { | + | public void start() |
String commande = ui.lireCommande(); | String commande = ui.lireCommande(); | ||
switch (commande.charAt(0)) { | switch (commande.charAt(0)) { | ||
- | | + | |
- | | + | |
- | start(); | + | start(); |
- | break; | + | break; |
- | case ' | + | case UserConsole.COM_CREER_CANAL |
- | | + | |
- | start(); | + | start(); |
- | break; | + | break; |
- | ..... | + | case UserConsole.COM_POSTER_MESSAGES: |
- | + | | |
- | private void creerBus() { | + | start(); |
- | | + | |
- | | + | case UserConsole.COM_LIRE_MESSAGES: |
- | | + | lireMessage(); |
- | ui.afficher(" | + | start(); |
- | else | + | break; |
- | ui.afficher(" | + | |
- | } | + | |
+ | | ||
+ | exit(0); | ||
+ | break; | ||
+ | | ||
+ | | ||
+ | | ||
+ | start(); | ||
+ | }} | ||
</ | </ | ||
+ | |||
+ | - 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. | ||
+ | - Visualisez votre code correspondant à la création d'un forum sous la forme d'un diagramme de séquences.\\ '' | ||
+ | - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes. | ||
===== 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 121: | 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; | + | |
} | } | ||
</ | </ | ||
Line 138: | Line 147: | ||
<box round rgb(150, | <box round rgb(150, | ||
* Mettez un mail à votre encadreur avec soit l' | * Mettez un mail à votre encadreur avec soit l' | ||
+ | * De préférence utilisez la [[http:// | ||
* Le rendu consiste en : | * Le rendu consiste en : | ||
- Un document contenant | - Un document contenant |
2015_2016/s3/concprogobjet/td/td2.1442413309.txt.gz · Last modified: 2015/09/16 14:21 by blay