0% ont trouvé ce document utile (0 vote)
26 vues4 pages

CL TP06

Le document présente un TP sur la conception de logiciels, en introduisant le concept de Design Pattern, notamment le patron de conception Stratégie. Il propose un exercice de simulation de canard (SimUDuck) et aborde les erreurs de conception, l'importance de la composition sur l'héritage, ainsi que l'implémentation en Java et C++. Le modèle de stratégie est défini pour encapsuler des algorithmes interchangeables, permettant ainsi une flexibilité dans le comportement des objets.

Transféré par

kernoulilia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues4 pages

CL TP06

Le document présente un TP sur la conception de logiciels, en introduisant le concept de Design Pattern, notamment le patron de conception Stratégie. Il propose un exercice de simulation de canard (SimUDuck) et aborde les erreurs de conception, l'importance de la composition sur l'héritage, ainsi que l'implémentation en Java et C++. Le modèle de stratégie est défini pour encapsuler des algorithmes interchangeables, permettant ainsi une flexibilité dans le comportement des objets.

Transféré par

kernoulilia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Algérienne e Démocratique

e et Populaire ‫الـشـعـبية‬
‫ة‬ ‫طـيـة‬
‫رية الـديــمقـراط‬
‫ھـوريـة الـجـزائـر‬‫الـجـمـھ‬
Ministè
ère de l’Enseign
nement Supérieu
ur et de la Reche
erche Scientifiq
que ‫وزارة الــتـعـلـيـم الـعــاللـي و الــبحـث االـعــلمـي‬
Faculté
é des Sciences E
Exactes ‫علوم الدقيقة‬ ‫كلية الع‬
Départtement d’Informmatique ‫إلعالم اآللي‬ ‫قسم اإل‬

Concceptio
on dee logiciels
T
TP 06
6
Objectif
O :
1. Introd
duire la notion
n de Design Pa
attern : Patronn de conception.
2. Introd
duire la notion
n du patron de
e conception SStratégi : STRA
ATEGY design pattern.

”Design Prin
nciple : Identtify the aspe
ect of your a pplication th
hat vary and
d separate thhem from wh
hat stays the
e
same”
Exercice
E SimU
UDuck 2:
Cet
C exemple estt cité dans le livrel « Design Pattern
P » chez O’Reilly - Head First : il a étté repris dans lle cours Conception Logiciel du
d
département
d d’iinformatique dee l’UQAM, Cana ada, durant la ssession 2020.
Ill a été demandéé de réaliser un
n jeu de simulation de canard : SimUDuck app p.

Le
L présent TP P est la suitee des TP05 ett TP04
Ill s’avère quee le concepteeur bien qu’aayant cru bieen faire se so
oit tromper dans les précéédentes conceptions.
C’est
C qui est en fait tout à fait norm mal : L’activvité de conceeption est une
u activité d’essai-erre eur. Plus nou
us
faaisons d’erreeurs plus nou us nous améliorons.
A.
A Qu’est cee qui varie daans cette ap
pplication ?
B.
B Dans le ddiagramme 1 suivant, où ù se situe l’errreur ?
C.
C L’un dess principes de la con nception esst « favor composition
c n over
inheritan
nce ». Argummentez.
D.
D Commen nt peut-on trransformer la relation dd’héritage du
d diagramm
me2 ci-

après en relation de composition


n? Diagram
mme 1

E.
E Expliquezz le Diagram
mme3 ci-aprè
ès.

Diagra
amme 2

Diagramme 3

F. mme4 global suivant :


F Expliquezz le Diagram
République Algérienne e Démocratique
e et Populaire ‫الـشـعـبية‬
‫ة‬ ‫طـيـة‬
‫رية الـديــمقـراط‬
‫ھـوريـة الـجـزائـر‬‫الـجـمـھ‬
Ministè
ère de l’Enseign
nement Supérieu
ur et de la Reche
erche Scientifiq
que ‫وزارة الــتـعـلـيـم الـعــاللـي و الــبحـث االـعــلمـي‬
Faculté
é des Sciences E
Exactes ‫علوم الدقيقة‬ ‫كلية الع‬
Départtement d’Informmatique ‫إلعالم اآللي‬ ‫قسم اإل‬

Diagramme 4

G.
G Il vous eest demand dé d’implémmenter souss Java puis sous C++ le diagramm
me5 présen
nté que vou
us
sauvegarrderez dans un
u projet no
ommé SimUD Duck appV3..0.

Diagramme 5

Ill a été demaandé au concepteur d’in ntégrer le faiit qu’un canard blessé qui pouvait vvoler avant sa
s blessure ne
n
puisse
p plus vo
oler. Le conccepteur a donc proposé l e diagramme 6 suivant :
H.
H Expliquerr le diagramme 6.
République Algérienne e Démocratique
e et Populaire ‫الـشـعـبية‬
‫ة‬ ‫طـيـة‬
‫رية الـديــمقـراط‬
‫ھـوريـة الـجـزائـر‬‫الـجـمـھ‬
Ministè
ère de l’Enseign
nement Supérieu
ur et de la Reche
erche Scientifiq
que ‫وزارة الــتـعـلـيـم الـعــاللـي و الــبحـث االـعــلمـي‬
Faculté
é des Sciences E
Exactes ‫علوم الدقيقة‬ ‫كلية الع‬
Départtement d’Informmatique ‫إلعالم اآللي‬ ‫قسم اإل‬

I.. Est-ce quue cette im mplémentatiion de channgements


dynamique aurait pu u être intégrrée aussi sim
mplement
dans les aapplicationss SimUDuck appV1.0
a et SSimUDuck
appV2.0..
Remarque
R :
Chaque application doit être sauvegardée
s e dans un
projet diffférent soit au
a total Deu
ux dossiers.

Diaggramme 6

Explication
E :
Ce
C qui a été réalisé en faait, est l’app
plication d’u n Patron de Conception appelé Straatégie : STRA
ATEGY Desig
gn
Pattern.
P
Avec
A l’applicaation de Dessign Pattern le concepteuur est capable de prendrre en chargee tous les cha
angements de
d
comporteme
c nt qui seront exigés dans le comporttement de so on Canard.
Diagramme
D d
du patron de
e conception
n Stratégie

Diagramme 7

Application
A d
du Patron de
e conception
n dans le cas de SimUDucck

Diagramme 8

J. En vous basant surr le diagram mme8, expliiquez le diggramme 5 sur s la base du STRATE
EGY pattern
n:
ner le Contexxt, les Opéra
détermin ations, les Sttratégies et les Algorithm
mes.
K Devinez dans le diaggramme 05 ce que sonnt les clients. ( Ce qui est appelé client dans le patron de
K. d
on Stratégie
conceptio e).
République Algérienne e Démocratique
e et Populaire ‫الـشـعـبية‬
‫ة‬ ‫طـيـة‬
‫رية الـديــمقـراط‬
‫ھـوريـة الـجـزائـر‬‫الـجـمـھ‬
Ministè
ère de l’Enseign
nement Supérieu
ur et de la Reche
erche Scientifiq
que ‫وزارة الــتـعـلـيـم الـعــاللـي و الــبحـث االـعــلمـي‬
Faculté
é des Sciences E
Exactes ‫علوم الدقيقة‬ ‫كلية الع‬
Départtement d’Informmatique ‫إلعالم اآللي‬ ‫قسم اإل‬

Définition
D :
Le
L modèle d de stratégiee définit unne famille dd’algorithme es, encapsule chacun dd’entre euxx et les ren nd
in
nterchangea
ables. La stra
atégie perme
et à l’algoritthme de variier indépend
damment dees clients qui l’utilisent.
 Le patron
n « Strategy » cherche principaleme
p e ses compoortements/algorithmes en
nt à séparerr un objet de e
encapsulant ces dern
niers dans des classes à ppart.
 Pour ce faire, on doit
d alors dé
éfinir une ffamille de comporteme
c nts ou d’al gorithmes encapsulés
e e
et
interchan
ngeables.
Le
L patron « SStrategy » esst utilisé lorssque:
 Un problèème possèdee plusieurs algorithme
a poour le résoud
dre.
o SSurtout si les algorithmess possèdent ddifférents effficacités dan
ns différentees situations.
 Un objet peut avoir plusieurs
p com
mportementss différents.
o AAussi appliccable lorsque différenntes classe
es sont se
eulement ddifférentes d’après leu
ur
ccomportement.
 Des donn
nées que l’uttilisateur ne devrait
d pas cconnaître se retrouve dans un algoritthme.

Vous aimerez peut-être aussi