Sunteți pe pagina 1din 8

Diagrame de clasă

- exemple -
Temă. Modelaţi enunţurile următoare (îndeplinite simultan) :

1) Fişierele, shortcut-urile şi directoarele sunt conţinute în


directoare şi au un nume;

2) Un shortcut implică (se refera la) un fişier sau un director;

3) Într-un anumit director, un nume poate identifica doar un


element (fişier, shortcut sau director);
1) Fişierele, shortcut-urile şi directoarele sunt conţinute în
directoare şi au un nume;

Conceptele de fisier, shortcut, director trebuie modelate în clase.

Din moment ce un fişier, shortcut sau director nu poate fi inclus decât


într-un director (în alte directoare pot fi eventual copii ale acestora), iar
odată cu dispariţia directorului părinte dispar şi fişierele, shortcut-urile şi
(sub)directoarele conţinute în el, relaţia dintre clasele Fisier, Shortcut,
Director cu clasa Director trebuie să fie compunere.
2) Un shortcut implică un fişier sau un director;

Obs. Asocierea exclusivă sau asocierea XOR este o constrângere a două


sau a mai multor asocieri şi specifică faptul că o clasă poate participa la
cel mult o asociere la un moment dat.
3) Într-un anumit director, un nume poate identifica doar un
element (fişier, shortcut sau director);

Asocierea calificată este folosită în relaţiile one-to-many şi many-to-many


şi indică modul în care va fi identificat un anumit element al părţii many a
unei asocieri. Un calificativ este un atribut al unei clase de asociere, care
trebuie să reducă multiplicitatea asocierii care a generat clasa de asociere.
Un calificativ este folosit ca un index pentru a găsi obiectele de la celălalt
capăt al unei asocieri.
Prima viziune a modelului va arăta ca în figura de mai jos:

Obs. În această variantă, două fişiere sau shortcut-uri nu pot avea


acelaşi nume în interiorul unui director, dar un fisier si un shortcut
pot avea acelaşi nume.
Soluţia vine din propoziţia a 3-a:
3) Într-un anumit director, un nume poate identifica doar un element
(fişier, shortcut sau director);
Adăugând o supraclasă, Element, care să generalizeze clasele Fisier,
Shortcut şi Director, cele 3 compuneri se pot îmbina într-una singură.
În această soluţie:
• Director e “composite” în relaţie cu Element
• Director e subclasă a clasei Element
Ce este pattern-ul “composite”?
E o soluţie elegantă pentru a modela ierarhii de elemente/compuneri.
Designerul poate lucra cu obiecte individuale (frunze – leaves) şi cu
combinaţiile lor (composite) în acelaşi fel.

S-ar putea să vă placă și