Cours4 Gererlaqualite Design Patterns 4slidespp
Cours4 Gererlaqualite Design Patterns 4slidespp
µ3DWWHUQVH[SRVHNQRZOHGJHDERXWVRIWZDUHFRQVWUXFWLRQWKDWKDV
EHHQJDLQHGE\PDQ\H[SHUWVRYHUPDQ\\HDUV$OOZRUNRQ
SDWWHUQVVKRXOGWKHUHIRUHIRFXVRQPDNLQJWKLVSUHFLRXV
/HV'HVLJQ3DWWHUQV UHVRXUFHZLGHO\DYDLODEOH(YHU\VRIWZDUHGHYHORSHUVKRXOGEH
DEOHWRXVHSDWWHUQVHIIHFWLYHO\ZKHQEXLOGLQJVRIWZDUHV\VWHPV
:KHQWKLVLVDFKLHYHGZHZLOOEHDEOHWRFHOHEUDWHWKHKXPDQ
5HGD %HQGUDRX LQWHOOLJHQFHWKDWSDWWHUQVUHIOHFWERWKLQHDFKLQGLYLGXDOSDWWHUQ
UHGDEHQGUDRX^^#``/LSIU DQGLQDOOSDWWHUQVLQWKHLUHQWLUHW\µ
KWWSSDJHVSHUVRV\VWHPHOLSIU5HGD%HQGUDRX
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 1/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 2/62
2ULJLQHV 2ULJLQHV
6\QRQ\PHVFRQQXV)RUPHGHFRQFHSWLRQSDWWHUQPRGqOH
SDWURQGHFRQFHSWLRQPRWLIHWF
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 3/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 4/62
3DWWHUQ'pILQLWLRQ 3RXUTXRLOHV'HVLJQ3DWWHUQV
2XWRXWVLPSOHPHQWXQHVROXWLRQJp
2XWRXWVLPSOHPHQWXQHVROXWLRQJpQpUDOHSRXUXQSUREOq
UDOHSRXUXQSUREOqPH
&UpHUXQYRFDEXODLUHFRPPXQSRXUOHVGpYHORSSHXUVHWOHV
UpFXUUHQWGDQVXQFRQWH[WHGRQQp
FXUUHQWGDQVXQFRQWH[WHGRQQp
FRQFHSWHXUV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 5/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 6/62
3RXUTXRLSDVODPrPHFKRVHHQ,QIRUPDWLTXH" 'HVLJQ3DWWHUQVHQ,QIRUPDWLTXH*R)
1DLVVDQFH²
1DLVVDQFH² +LVWRULTXHGHV6RIWZDUH'HVLJQ3DWWHUQV 8QFDWDORJXHGH3DWWHUQV
:DUG&XQQLQJKDPDQG.HQW%HFNµ8VLQJ 3DWWHUQ
/DQJXDJHV IRU2EMHFW2ULHQWHG 3URJUDPPLQJµ
² SDWWHUQODQJXDJH IRU6PDOOWDON *8,V
² IXWXUHH[SHFWDWLRQSDWWHUQVFRXOG FRYHU 22SURJUDPPLQJ
2236/$ZRUNVKRSVLGHDV GHYHORSHG
7KH+LOOVLGH *URXS
6WDUWRI3/R3 FRQIHUHQFHV SDWWHUQUHYLHZV*R)
*R) ERRN
WKHILUVW3/R3 ERRN
$V\VWHPRI3DWWHUQV%XFKPDQQ HWDO
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 7/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 8/62
'RFXPHQWDWLRQG·XQ3DWWHUQVHORQOH*R) 5HPDUTXH
1RPHWFODVVLILFDWLRQ ,PSRUWDQW
,QWHQWLRQ
/DUpIpUHQFH'HVLJQ3DWWHUQVSDUOH*R) GpFULWOHVIRUPHVSDU
$XWUHVQRPVFRQQXV
0RWLYDWLRQVFpQDULR
GHVGLDJUDPPHV207
$SSOLFDELOLWp
6WUXFWXUH207 0DLVO
KpULWDJHHWOHVREMHWVQHVRQWSDVQpFHVVDLUHV
3DUWLFLSDQWVFODVVHV«
&ROODERUDWLRQV
&RQVpTXHQFHV
,PSODQWDWLRQ
([HPSOHGHFRGH
8VDJHVFRQQXV
3DWWHUQVDVVRFLpV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 9/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 10/62
Template Method
Facade Observer
Flyweight State
Proxy Strategy
Visitor
Chain Of Resp.
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 11/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 12/62
3DWWHUQV&UpDWHXUV2EMHFWLI
$EVWUDLUHOHSURFHVVXVG
LQVWDQFLDWLRQ
5HQGUHLQGp
5HQGUHLQGpSHQGDQWGHODIDo
SHQGDQWGHODIDoRQGRQWOHVREMHWVVRQWFUpp
RQGRQWOHVREMHWVVRQWFUppV
ppV
/HV'HVLJQ3DWWHUQV&UpDWHXUV FRPSRVp
FRPSRVpVDVVHPEOp
VDVVHPEOpVUHSUp
VUHSUpVHQWp
VHQWpV
(QFDSVXOHUODFRQQDLVVDQFHGHODFODVVHFRQFUq
(QFDSVXOHUODFRQQDLVVDQFHGHODFODVVHFRQFUqWHTXLLQVWDQFLH
&DFKHUFHTXLHVWFUpp
&DFKHUFHTXLHVWFUppTXLFU
ppTXLFUp
TXLFUpHFRPPHQWHWTXDQG
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 13/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 14/62
$EVWUDFW)DFWRU\
%XW
² SHUPHWWUHGHFUpHUGHVIDPLOOHVGHSURGXLWV
² HQPDVTXDQWOHVPpFDQLVPHVGHFKRL[GHVFODVVHVGHPLVHHQ
3DWWHUQV&UpDWHXUV([HPSOHV ±XYUHGHFHVSURGXLWV
([HPSOH
² FUpDWLRQG·XQHLQWHUIDFHKRPPHPDFKLQHLQGpSHQGDQWHGHOD
$EVWUDFW)DFWRU\ SODWHIRUPH
6LQJOHWRQ ² /HIDPHX[MHX[GX/DE\ULQWKHHQFKDQWp
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 15/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 16/62
([HPSOHLQWHUIDFHKRPPHPDFKLQH,+0 ([HPSOHLQWHUIDFHKRPPHPDFKLQH,+0
2QYHXWGpYHORSSHUXQHDSSOLFDWLRQJUDSKLTXHPXOWLSODWHIRUPHV 6ROXWLRQVSRVVLEOHV
² LOH[LVWHXQHELEOLRWKqTXHJUDSKLTXHSRXUFKDTXHV\VWqPH
² G·XQHSODWHIRUPHj O·DXWUHOHVFODVVHVG·,+0VRQWGLIIpUHQWHV 4XDWUHDSSOLFDWLRQVGLIIpUHQWHV
² OHVSODWHIRUPHV VRQW:LQGRZV0DF26/LQX[6RODULV ² TXDWUHVRXUFHVTXLYRQWYLWHGLYHUJHU
8QVHXOVRXUFH
FenetreMotif FenetrePM ² DYHFGHVVLDORUVVLQRQ
ScrollBPM
² DYHFGHVLIGHI HQGLI
BoutonMotif
BoutonPM ScrollBMotif
(PSORLGH$EVWUDFW)DFWRU\
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 17/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 18/62
([HPSOHLQWHUIDFHKRPPHPDFKLQH,+0
$EVWUDFW)DFWRU\6WUXFWXUH*pQpUDOH
6ROXWLRQ
'LDJUDPPH6WDWLTXH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 19/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 20/62
$EVWUDFW)DFWRU\5{OHGHFOLHQW $EVWUDFW)DFWRU\5{OHGH$EVWUDFW3URGXFW
&OLHQW 0DVTXHUODFODVVHFRQFUqWH
² GpWLHQWXQHUpIpUHQFHVXUXQH$EVWUDFWIDFWRU\
2IIULUXQHQVHPEOHG·RSpUDWLRQVDSSOLFDEOHVj WRXWHVOHV
² FUpHGHVSURGXLWVSDUDSSHOGHVRSpUDWLRQVGHFHWWHUpIpUHQFH YDULDQWHVG·XQPrPHSURGXLW
² QHFRQQDvWSDVODFODVVHFRQFUqWHGHVSURGXLWV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 21/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 22/62
&RPSRUWHXQHRSpUDWLRQGHFUpDWLRQ &RQWLHQWODPLVHHQ±XYUHVSpFLILTXHGHVRSpUDWLRQV
² SRXUFKDTXHSURGXLWXQHRSpUDWLRQGHFUpDWLRQUHWRXUQHXQREMHW
SURGXLW 1RQDFFHVVLEOHDXFOLHQW
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 23/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 24/62
$EVWUDFW)DFWRU\5{OHGH&RQFUHWH )DFWRU\ $EVWUDFW)DFWRU\'LDJUDPPHGHVpTXHQFHJpQpULTXH
&KDUJpHGHPHWWUHHQ±XYUHODFUpDWLRQGHVSURGXLWVFRQFUHWV
8QHIDEULTXHFRQFUqWHSRXUXQHSODWHIRUPHYDULDQWHYHUVLRQ
GRQQpHQHIDLWTXHGHVSURGXLWVFRQFUHWVGHODPrPHSODWH
IRUPHYDULDQWHYHUVLRQ
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 25/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 26/62
([HPSOHGHO·,+0 $EVWUDFW)DFWRU\4XDQGO·XWLOLVHU"
XQV\VWqPHGRLWrWUHLQGpSHQGDQWGHODIDoRQGRQWVHVSURGXLWV
VRQWFUppVDVVHPEOpVUHSUpVHQWpV
XQV\VWqPHUHSRVHVXUXQSURGXLWG
XQHIDPLOOHGHSURGXLWV
XQHIDPLOOHGHSURGXLWVGRLWrWUHXWLOLVpHHQVHPEOHSRXU
UHQIRUFHUFHWWHFRQWUDLQWH
RQYHXWGpILQLUXQHLQWHUIDFHXQLTXHj XQHIDPLOOHGHSURGXLWV
FRQFUHWV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 27/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 28/62
6LQJOHWRQ 6LQJOHWRQ6ROXWLRQ6WUXFWXUH
4XDQGO·XWLOLVHU"
4XDQGLOQ
\DTX
XQHXQLTXHLQVWDQFHG
XQHFODVVHHWTX
HOOH
GRLWrWUHDFFHVVLEOHGHPDQLqUHFRQQXH
/RUVTX·XQHLQVWDQFHXQLTXHSHXWrWUHVRXVFODVVpH HWTXHOHV
FOLHQWVSHXYHQWUpIpUHQFHUFHWWHH[WHQVLRQVDQVDYRLUj PRGLILHU
OHXUFRGH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 29/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 30/62
/HFRQVWUXFWHXUHQSULYp SRXULQWHUGLUHO·LQVWDQFLDWLRQGHFODVVHGH
)DFWRU\0HWKRG /HWVDFODVVGHIHULQVWDQWLDWLRQWRVXEFODVVHV
O·H[WpULHXU
SULYDWH 6LQJOHWRQ^`
2QSDVVHUDSDUFHWWHPpWKRGHSRXULQVWDQFLHUODFODVVH 3URWRW\SH )DFWRU\IRUFORQLQJQHZLQVWDQFHVIURPDSURWRW\SH
SXEOLFVWDWLF 6LQJOHWRQJHW,QVWDQFH
^
LIWKH,QVWDQFH QXOO
WKH,QVWDQFH QHZ6LQJOHWRQ
UHWXUQWKH,QVWDQFH
`
`
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 31/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 32/62
3DWWHUQV&RPSRUWHPHQWDX[2EMHFWLIV
'pFULUH
GHVDOJRULWKPHV
/HV'HVLJQ3DWWHUQV&RPSRUWHPHQWDX[ GHVFRPSRUWHPHQWVHQWUHREMHWV
GHVIRUPHVGHFRPPXQLFDWLRQHQWUHREMHWV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 33/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 34/62
3DWWHUQ2EVHUYHU
² O·REVHUYDWHXUGRLWVHV\QFKURQLVHUDYHFOHVFKDQJHPHQWV
2EVHUYHU
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 35/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 36/62
3DWWHUQ2EVHUYHU4XDQGO·XWLOLVHU" 3DWWHUQ2EVHUYHU([HPSOH
4XDQGOHFKDQJHPHQWG
XQREMHWVHUp
4XDQGOHFKDQJHPHQWG
XQREMHWVHUpSHUFXWHYHUVG
DXWUHV
8QHDEVWUDFWLRQDSOXVLHXUVDVSHFWVGpSHQGDQWO
XQGHO
DXWUH
(QFDSVXOHUFHVDVSHFWVLQGpSHQGDPPHQWSHUPHWGHOHV
UpXWLOLVHUVpSDUpPHQW
4XDQGXQREMHWGRLWSUpYHQLUG
DXWUHVREMHWVVDQVSRXUDXWDQW toute cré
création, suppression ou renommage
de fichier dans le dossier doit être ré
répercuté
percutée
OHVFRQQDLWUH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 37/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 38/62
3DWWHUQ2EVHUYHU$XWUHH[HPSOHG·HPSORL 3DWWHUQ2EVHUYHU'LDJUDPPHVWDWLTXHJpQpULTXH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 39/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 40/62
3DWWHUQ2EVHUYHU'LDJUDPPHGHVpTXHQFH 3DWWHUQ2EVHUYHU5{OHV
5{OHV
6XEMHFW
6XEMHFW
² &RPSRUWHXQpWDWLQWHUQH
W\SHQRQVSpFLILp
XQSDWURQGHFRQFHSWLRQHVWLQGpSHQGDQWGHFHJHQUHGHGpWDLOV
² (VWFKDUJp GHJpUHUXQHFROOHFWLRQG·DERQQpVFDSDEOHGHUHFHYRLUGHV
QRWLILFDWLRQV
² (VWFKDUJp G·HQYR\HUXQPHVVDJHDX[DERQQpVORUVTXHVRQpWDWFKDQJH
2EVHUYHU(VWFDSDEOHGHUpDJLUj
2EVHUYHU ODUpFHSWLRQG·XQPHVVDJHGH
QRWLILFDWLRQYHQDQWG·XQVXMHW
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 41/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 42/62
3DWWHUQ2EVHUYHU'pILQLWLRQGHODVWUXFWXUH 3DWWHUQV&RPSRUWHPHQWDX[/HVDXWUHV3DWWHUQV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 43/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 44/62
3DWWHUQV6WUXFWXUDX[2EMHFWLIV
'pFRXSOHULQWHUIDFHVHWLPSODQWDWLRQVGHFODVVHVHWG·REMHWV
'pFULUHFRPPHQWOHVREMHWVVRQWDVVHPEOpV
/HV'HVLJQ3DWWHUQV6WUXFWXUDX[
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 45/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 46/62
3DWWHUQ&RPSRVLWH
2EMHFWLIV
UHSUpVHQWHUXQHKLpUDUFKLHG
REMHWV
3DWWHUQV6WUXFWXUDX[([HPSOH
LJQRUHUODGLIIpUHQFHHQWUHXQFRPSRVDQWVLPSOHHWXQ
FRPSRVDQWHQFRQWHQDQWG
DXWUHVLQWHUIDFHXQLIRUPH
&RPSRVLWH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 47/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 48/62
3DWWHUQ&RPSRVLWH6WUXFWXUH 3DWWHUQ&RPSRVLWH([HPSOH
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 49/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 50/62
3DWWHUQ&RPSRVLWH5{OHV 3DWWHUQV6WUXFWXUDX[/HVDXWUHV3DWWHUQV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 51/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 52/62
'HVLJQ3DWWHUQOHSOXVGXU
/HSOXVGXUTXDQGRQYHXWDSSOLTXHUXQ3DWWHUQ
7URXYHUOHVERQVREMHWV
'HVLJQ3DWWHUQV5pVXPRQV %LHQFKRLVLUODJUDQXODULWp GHVREMHWV
6SpFLILHUOHVLQWHUIDFHVGHVREMHWV
6SpFLILHUO
LPSODQWDWLRQGHVREMHWV
0LHX[UpXWLOLVHU
² KpULWDJHYVFRPSRVLWLRQ
² GpOpJDWLRQ
&RPSLOHG7LPHYV5XQ7LPH6WUXFWXUHV
&RQFHYRLUSRXUO
pYROXWLRQ
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 53/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 54/62
&HTXHQ·HVWSDVXQ3DWWHUQ ,QFRQYpQLHQWV
8QHEULTXH (IIRUWGHV\QWKqVHUHFRQQDvWUHDEVWUDLUH«
² 8QSDWWHUQGpSHQGGHVRQHQYLURQQHPHQW
² &HQ·HVWSDVGXFRGH
$SSUHQWLVVDJHH[SpULHQFH
8QHUqJOH
² 8QSDWWHUQQHSHXWSDVV ·DSSOLTXHUPpFDQLTXHPHQW
² 1HSDVKpVLWHUj O·DGDSWHUj YRVEHVRLQVQRWLRQGHYDULDQWHV /HVSDWWHUQV© VHGLVVROYHQW ª HQpWDQWXWLOLVpV
8QHPpWKRGH
² 1HJXLGHSDVXQHSULVHGHGpFLVLRQXQSDWWHUQHVWODGpFLVLRQ 1RPEUHX[«
SULVH ² OHVTXHOVVRQWLGHQWLTXHV"
6DQVSUREOqPHVSRWHQWLHOV ² 'HQLYHDX[GLIIpUHQWV« GHVSDWWHUQVV ·DSSXLHQWVXUG ·DXWUHV
² 3OXVGHFODVVHVSOXVGHGpSHQGDQFHVEHVRLQGHGRFXPHQWHUHWF
² 0DOXWLOLVp LQDSSURSULpSHXWDIIHFWHUOHVSHUIRUPDQFHV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 55/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 56/62
4XHOTXHV&RQVHLOVSRXUVDYRLUTXHOSDWWHUQ
$YDQWDJHV
XWLOLVHU
8QYRFDEXODLUHFRPPXQIDFLOLWHODFRPPXQLFDWLRQ &UpDWLRQG
XQREMHWHQUpIpUHQoDQWVDFODVVHH[SOLFLWHPHQW/LHQ
j XQHLPSODQWDWLRQSDUWLFXOLqUHSRXUpYLWHUXWLOLVH]
&DSLWDOLVDWLRQGHO ·H[SpULHQFH $EVWUDFW)DFWRU\)DFWRU\0HWKRG3URWRW\SH
5pGXLUHODFRPSOH[LWp 'pSHQGDQFHG
XQHFRXFKHPDWpULHOOHRXORJLFLHOOH XWLOLVH]
$EVWUDFW)DFWRU\%ULGJH
*XLGHFDWDORJXHGHVROXWLRQV
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 57/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 58/62
4XHOTXHV&RQVHLOVSRXUVDYRLUTXHOSDWWHUQ 4XHOTXHV&RQVHLOVSRXUVDYRLUTXHOSDWWHUQ
XWLOLVHU XWLOLVHU
'pSHQGDQFHG
XQHLPSODQWDWLRQSRXUUHQGUHSOXVVRXSOH (WHQGUHOHVIRQFWLRQQDOLWpVHQVRXVFODVVDQWSHXWrWUHFRXWHX[
XWLOLVH] $EVWUDFW)DFWRU\%ULGJH0HPHQWR3UR[\ WHVWVFRPSUpKHQVLRQGHVVXSHUFODVVHVHWFXWLOLVH]DXVVLOD
GpOpJDWLRQODFRPSRVLWLRQ%ULGJH&KDLQ2I5HVSRQVLELOLW\
'pSHQGDQFHG
XQDOJRULWKPHSDUWLFXOLHU%XLOGHU,WHUDWRU &RPSRVLWH'HFRUDWRU2EVHUYHU6WUDWHJ\3UR[\
6WUDWHJ\7HPSODWH0HWKRG6WUDWHJ\
,PSRVVLELOLWp GHPRGLILHUXQHFODVVHDEVHQFHGXVRXUFHWURS
&RXSODJHIRUWUHOkFKHUOHVUHODWLRQVXWLOLVH] $EVWUDFW)DFWRU\ GHUpSHUFXVVLRQVYR\H] $GDSWHU'HFRUDWRU9LVLWRU
%ULGJH&KDLQ2I5HVSRQVLELOLW\&RPPDQG)DFDGH0HGLDWRU
2EVHUYHU
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 59/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 60/62
$XWUHV3DWWHUQV /HFWXUHV
6RIWZDUH(QJLQHHULQJ
,OH[LVWHDXVVLG·DXWUHVSDWWHUQV ² ,DQ6RPPHUYLOOH$GGLVRQ:HVOH\HGLWLRQ -XQ,6%1
7KH0\WKLFDO 0DQ0RQWK
² )UHGHULFN3%URRNV-5$GGLVRQ:HVOH\
&RXUVGH6RIWZDUH(QJLQHHULQJGX3URI%HUWUDQG0H\HUj FHWWH#
² $UFKLWHFWXUH ² KWWSVHHWK]FKWHDFKLQJVVOHFWXUHKWPO
&RXUVG·$QWRLQH%HXJQDUG j FHWWH#
² KWWSSXEOLFHQVWEUHWDJQHIUaEHXJQDUG
² $QDO\VH 80/'LVWLOOHG UGpGLWLRQDEULHI JXLGHWRWKHVWDQGDUGREMHFW PRGHOLQJODQJXDJH
² 0DUWLQ)RZOHU$GGLVRQ:HVOH\2EMHFW7HFKQRORJ\ 6HULHV,6%1
80/SRXUOHVGpYHORSSHXUVFRXUVDYHFH[HUFLFHVHWFRUULJpV
² ;DYLHU%ODQF,VDEHOOH0RXQLHUHW&pGULF%HVVH(GLWLRQ(\UROOHV,6%1;
80/SDUODSUDWLTXHpWXGHVGHFDVHWH[HUFLFHVFRUULJpV
² 3DVFDO5RTXHVqPH pGLWLRQ(GLWLRQ(\UROOHV
&RXUVWUqVLQWpUHVVDQWGX3URI-HDQ0DUF-p]pTXHO j FHWWH#
² KWWSZZZLULVDIUSULYHMH]HTXHOHQVHLJQHPHQW3RO\80/SRO\SGI
/DSDJHGHO·20*GpGLpHj 80/KWWSZZZXPORUJ
'HVLJQSDWWHUQV&DWDORJXHGHVPRGqOHVGHFRQFHSWLRQUpXWLOLVDEOHV
² 5LFKDUG+HOP $XWHXU5DOSK-RKQVRQ $XWHXU-RKQ9OLVVLGHV $XWHXU(ULF*DPPD $XWHXU9XLEHUW
LQIRUPDWLTXHMXLOOHW,6%1
© Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 61/62 © Reda Bendraou LI386-S1 Génie Logiciel – UPMC Cours 4: Les Design Pattern 62/62