Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de...

35
Exercice: Interfaces graphiques www.djouabri.com [email protected] Corrigés des Exercices

Transcript of Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de...

Page 1: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Exercice: Interfaces graphiques

www.djouabri.com

[email protected]

Corrigés des Exercices

Page 2: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Les systèmes d’exploitation tels que Microsoft

Windows, Mac OS et Linux supportent des interfaces

graphiques. Le but de cet exercice est de proposer

une modélisation d’un système permettant la

création de différents composants d’une interface

graphique (boutons, barres de défilement et menus)

en fonction du système d’exploitation auquel ils sont

destinés. Le modèle doit permettre de créer des

composants sans devoir connaitre leurs classes

concrètes. Le système doit être indépendant de la

façon dont les composants évoluent.

Exercice : Interfaces graphiques

Page 3: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q1. Quel patron de conception est adapté à ce type de problème ?

Le système décrit des familles d’objet

devant être utilisés ensemble.

Le patron de conception qui convient

le mieux à ce type de problème est le

patron Fabrique Abstraite.

Page 4: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le patron Fabrique Abstraite permet de définir une classe

abstraite décrivant une interface commune pour la création

de chaque variété d’objets. Cette classe est nommée

FabriqueComposant.

Les classes qui l’implantent fournissent le code des

méthodes de création de chaque type d’objet selon le

modèle du système en cours. Ainsi, il faut définir une classe

par système.

Trois sous-classes sont créées : FabriqueComposantWindows,

FabriqueComposantMacOS et

FabriqueComposantLinux.

Page 5: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

La hiérarchie des fabriques est comme suit.

Page 6: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Pour chaque type de composant graphique, il faut aussi créer une classe

abstraite dont les sous-classes concrètes implantent les versions de ces

composants selon le format des différents systèmes. Les classes abstraites

Bouton, BarreDeDefilement et Menu ont comme sous-classes leurs différentes

versions selon le système. Les sous-classes concrètes de Bouton

sont BoutonWindows, BoutonLinux et BoutonMacOS.

Une méthode de création par composant est ajoutée aux classes de fabrique.

Les liens entre les classes de fabrication concrètes et les classes concrètes de

composants qu’elles créent sont représentés par des flèches en pointillés

(relation de dépendance).

Page 7: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le diagramme de composant Bouton

Page 8: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le diagramme de composant BarreDeDefilement

Page 9: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le diagramme de composant Menu

Page 10: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le diagramme de composant graphique

Page 11: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.Le diagramme final est donc le suivant

Page 12: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

Q2. Proposez une modélisation de l’ensemble du système sous forme de

diagrammes de classes.

Le diagramme final est donc le suivant…

Enfin le client a accès uniquement aux classes

abstraites des composants.

Page 13: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.
Page 14: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Le code Java introduisant les classes abstraites

Bouton, BarreDeDefilement et Menu ainsi

que leurs sous-classes est comme suit.

Des attributs simples sont associés à chaque

classe ainsi qu’une méthode permettant d’en

afficher les caractéristiques.

Page 15: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 16: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 17: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 18: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 19: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 20: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 21: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 22: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 23: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 24: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 25: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 26: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 27: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

L’interface FabriqueComposant est ensuite

introduite ainsi que ses trois classes d’implantation

pour chaque système d’exploitation. Chaque

classe d’implantation crée les objets correspondant

aux classes concrètes des composants

Page 28: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 29: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 30: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 31: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 32: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Le programme principal introduit dans la classe

InterfaceGraphique utilise une fabriqueMac OS puis une fabrique Windows. Les sous-

classes concrètes correspondant aux familles

d’objet n’ont pas besoin d’être connues par le

client.

Page 33: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

Page 34: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

3. Programmez ce diagramme en Java.

L’exécution de ce programme produit le résultat suivant

Page 35: Corrigé des Exercices - DJOUABRI Abderrezak. Quel patron de conception est adapté à ce type de problème ? Le système décrit des familles d’objet devant être utilisés ensemble.

4. En quoi consisterait l’ajout d’un nouveau système

d’exploitation ?

Le patron Abstract Factory offre une structure flexible facilitant l’ajout ou le retrait

de familles d’objets.

L’ajout d’un nouveau système

d’exploitation consiste à créer une fabrique

concrète pour ce système ainsi que les

produits concrets correspondants.