Documente Academic
Documente Profesional
Documente Cultură
http://florinleon.byethost24.com/curs_ip.htm
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Terminologie
Strategy = Strategie
Template Method = Metoda Tipar
State = Stare
Interpreter = Interpretor
Visitor = Vizitator
Not
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
SimUDuck
Extensii
Extensii...
?
Alte clase
7
Extensii...
Cod duplicat
8
ncapsularea
comportamentelor
10
ncapsularea
comportamentelor
11
Stabilirea strategiei
12
13
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Definiie
14
Diagrama UML
15
Exemple
Structur...
Rutele...
Sortri...
Grafice...
Personaje de joc...
16
Structur
17
Sortri
18
Grafice
19
Personaje de joc
20
Aplicabilitate
Avantaje i dezavantaje
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Cafea i ceai
24
Clasele corespunztoare
25
Abstractizarea
26
Implementare
27
Definiie
28
Diagrama UML
29
Exemple
Structur...
Ceaiul i cafeaua...
Datele clienilor...
Sortrile temperaturilor...
Triunghiurile...
30
Ceaiul i cafeaua
31
Datele clienilor
32
Triunghiuri
33
Metode ancor
engl. hooks
Pot fi suprascrise
opional de clasele
derivate
ancor
34
Exemplu de ancor
35
Suprascrierea ancorei
36
Principiul Hollywood
37
38
39
Applet-uri
Metode ancor:
init
start
stop
destroy
paint
40
Aplicabilitate
41
Avantaje
42
Discuie
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Gumball Machine
45
Abordarea 1
46
Abordarea 1
47
Abordarea 2
48
Clasa NoQuarterState
schimbarea strii
49
Tranziii de stare
50
Tranziii de stare
51
Definiie
52
Diagrama UML
53
Exemple
Structur...
Gumball Machine...
Conturi...
54
Structur
55
Gumball Machine
56
Conturi
57
Aplicabilitate
58
Avantaje i dezavantaje
Discuie
60
Discuie
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Exemplu
63
Soluie
64
Definiie
65
Diagrama UML
66
Exemple
Structur...
Cifre romane...
Rapoarte...
67
Structur
68
Cifre romane
69
Rapoarte
Multe clase!
70
Rapoarte
Aplicabilitate
72
Generatoare de rapoarte
73
Avantaje i dezavantaje
Discuie
75
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Definiie
77
78
79
80
Diagrama UML
81
Exemple
Structur...
Angajai...
Zile libere...
82
Structur
83
Angajai
84
Zile libere
85
Aplicabilitate
Avantaje
Dezavantaje
Discuie
89
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
abloane de proiectare
comportamentale (II)
1. Strategia
2. Metoda Tipar
3. Starea
4. Interpretorul
5. Vizitatorul
6. Concluzii
7. Recapitularea abloanelor de proiectare
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Recapitulare
abloane creaionale
1.
2.
3.
4.
5.
Metoda Fabric
Fabrica Abstract
Singleton
Prototipul
Constructorul
95
Metoda Fabric
ablonul Metoda
Fabric definete o
interfa pentru crearea
unui obiect, dar las
subclasele s decid ce
clas s instanieze.
ablonul permite unei
clase s cedeze
subclaselor instanierea
de obiecte
96
Fabrica Abstract
ablonul Fabrica
Abstract asigur o
interfa pentru crearea
unor familii de obiecte
nrudite sau
dependente fr a le
specifica clasele
concrete
97
Singleton
ablonul Singleton
asigur faptul c o
clas are o singur
instan i ofer un
punct global de acces
la aceasta
98
Prototip
ablonul Prototip
precizeaz, folosind o
instan prototip, tipurile
de obiecte ce vor fi
create i creeaz noile
obiecte copiind acest
prototip
99
Constructor
ablonul Constructor
separ construcia unui
obiect complex de
reprezentarea acestuia,
astfel nct acelai
proces de construcie
s poat crea
reprezentri diferite
100
Recapitulare
abloane structurale
1.
2.
3.
4.
5.
6.
7.
Adaptorul
Faada
Decoratorul
Puntea
Delegarea
Categoria Musc
Compunerea
101
Adaptorul
ablonul Adaptor
convertete interfaa
unei clase n alt
interfa pe care o
ateapt clientul.
Adaptorul permite s
funcioneze mpreun
clase care altfel nu ar
putea din cauza
interfeelor
incompatibile
102
Faada
ablonul Faad
asigur o interfa
unificat la o mulime
de interfee dintr-un
subsistem. Faada
definete o interfa de
nivel mai nalt care face
subsistemul mai uor
de utilizat
103
Decoratorul
ablonul Decorator
ataeaz
responsabiliti
suplimentare unui
obiect n mod dinamic.
Decoratorii asigur o
alternativ flexibil la
derivare pentru
extinderea
funcionalitii
104
Puntea
ablonul Punte
decupleaz o
abstraciune de
implementarea ei,
astfel nct cele dou
s poat varia n mod
independent
105
Proxy
106
Categoria Musc
ablonul Categoria
Musc folosete
partajarea pentru a
gestiona eficient un
numr mare de obiecte
de dimensiuni mici
107
Compunerea
ablonul Compunere
compune obiecte n
structuri de tip arbore
pentru a reprezenta
ierarhii parte-ntreg.
ablonul permite
clienilor s trateze
uniform obiecte
individuale i
compuneri de obiecte
108
Recapitulare
abloane comportamentale
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Iteratorul
Observatorul
Comanda
Lanul Responsabilitilor
Mediatorul
Memento
Strategia
Metoda Tipar
Starea
Interpretorul
Vizitatorul
109
Iteratorul
ablonul Iterator
asigur o cale de
accesare secvenial a
elementelor unui obiect
agregat, fr a expune
reprezentarea lui de
baz
110
Observatorul
ablonul Observator
definete o dependen
1 la N ntre obiecte,
astfel nct n cazul n
care un obiect i
schimb starea, vor fi
ntiinate i actualizate
automat toate obiectele
sale dependente
111
Comanda
ablonul Comand
ncapsuleaz o cerere
ca obiect, permind
parametrizarea
clienilor cu diferite
cereri, formarea unei
cozi de cereri sau
stocarea istoricului
acestora i asigurarea
suportului pentru
anularea operaiilor
112
Lanul Responsabilitilor
ablonul Lanul
Responsabilitilor evit
cuplarea ntre expeditorul i
destinatarul unei cereri,
acordnd mai multor
obiecte o ans de a
rezolva cererea. ablonul
nlnuie obiectele
destinatar i trece cererea
de-a lungul lanului pn
cnd un obiect o rezolv
113
Mediatorul
114
Memento
ablonul Memento
captureaz i
exteriorizeaz starea
intern a unui obiect
fr a viola
ncapsularea, astfel
nct obiectul s poat
fi readus ulterior la
respectiva stare
115
Strategia
ablonul Strategie
definete o familie de
algoritmi, ncapsuleaz
fiecare algoritm i i
face interschimbabili.
Acest ablon permite
algoritmului s varieze
independent de clienii
care l utilizeaz
116
Metoda Tipar
Starea
ablonul Stare
permite unui obiect
s-i modifice
comportamentul cnd
starea sa intern se
schimb. Obiectul va
prea c i schimb
clasa
118
Interpretorul
ablonul Interpretor
definete o reprezentare
a gramaticii unui limbaj
mpreun cu un
interpretor care utilizeaz
reprezentarea pentru a
interpreta propoziiile din
limbaj
119
Vizitatorul
ablonul Vizitator
reprezint o operaie
care va fi efectuat pe
elementele unei
structuri de obiecte,
permind definirea
unei operaii noi fr a
schimba clasele
elementelor pe care
opereaz
120