Cum de a desena diagrama de clase UML, blog-ul Java programatorului
Diagrama de clasă.
arhitecți software vorbesc limba UML. Este astfel un fel de programator latin. UML folosesc în mod direct pentru programare incomode, dar mulți l înțeleagă și să utilizeze pentru prescrierea descrierea arhitecturii sistemului. Drew diagrama de clasă, și a devenit clar ce se întâmplă. Ea înțelege și delfist și zhavaist și sishnik și pitonshik și sisharper și Rubyists (în general, toți cei care au studiat OEP).
Locul central este ocupat în diagrama de clase UML. Acest primer. Pe Internet, puteți găsi o mulțime de informații despre diagrame de clase (structuri, de desemnare a clasei, interfețe, atribute, relatii, etc.), dar relativ puține informații cu privire la modul de implementare a procesului de proiectare. În acest sens, atrag atenția asupra două puncte, în special.
De la general la particular.
Cel mai important lucru atunci când se creează o diagramă de clasă pentru a utiliza principiul „de la general la particular.“ De fapt, acesta este unul dintre principiile fundamentale pe care marii artiști din trecut au deschis în urmă cu mai mulți ani.
Imaginați-vă că nu știi cum să atragă bine, dar într-adevăr doriți să atragă ca capul cuiva. Iei un creion, ai pus o bucată de hârtie și începe să atragă ochiul stâng. Cheltuielile cu ochiul stâng nefericit mai mult de o oră, alegeți nas, și apoi pentru ochiul drept, urechea și apoi să încerce să termine restul. Este posibil ca rezultatul muncii pe care întristați (nu sfătui victima să arate rezultatul lucrării) - ochii, nasul, gura si urechile sunt în locul greșit. Desigur, există genii printre noi care obține o capodoperă, dar totuși, cei care au angajat în ea propovaduiesc profesional o abordare diferită - „De la general la particular, de la particular la general“ Inițial a făcut o schiță, „stângace“ imagine. Apoi, elaborarea, în continuare. Ca aceasta:
În mod similar, recomand să fac lucrul cu diagramele de clasă în UML. Vom crea o schiță. Selectați clasele de bază care definesc relația dintre ele, și apoi lucrează la multipli, domenii, metode, și domeniul de aplicare, apel semnătură, clase helper și așa mai departe.
Dar ar trebui să înceapă cu formarea unui set de clase de bază. Pentru a face acest lucru, trebuie doar pentru a desena un dreptunghi și scrie în numele principalelor clase. Apoi, treptat locul de muncă restul.
Apropo, dacă dețineți tehnica de Kung Fu „culori UML“ din codul de master, atunci puteți începe să-l utilizați în prima etapă.
Acum să trecem la studiul de o altă problemă fundamentală în arhitectura de software.
Pentru a fi sau a avea?
Există două atitudini fundamentale „a fi“ și „a avea“. Cea mai flagrantă și simplistă explicația: „să fie“ - moștenirea, „au“ - agregare (a se vedea de referință.). S-ar părea, ceea ce este diferența? În unele limbi, este, în general, același cuvânt.
Puteți face acest lucru:
Și puteți face acest lucru:
În primul caz avem atitudine „a fost.“ Oricare dintr-o clasă de obiecte Admin, Editor, de asemenea, un utilizator de oaspeți (este un utilizator).
În al doilea caz, raportul dintre „au“. Obiectul de clasa de utilizare, are un atribut de proprietate (are), care definește statutul utilizatorului în sistem. Proiectarea lumea reală, trebuie să ne gândim, „Cine este utilizatorul nostru?“. Ce înseamnă să „fie admin“ pentru el? În cazul în care acest lucru este ceva inseparabil de el însuși, esența sa interioară, am esențial, identitatea sa. Dacă admin nostru de utilizator este născut și se duce la un alt administrator mondial, atunci „Administrator este un Utilizator“ este justificată.
În primul caz, utilizatorul admin cu mândrie strigând „Eu sunt administratorul!“ și că el nu a luat, în al doilea, spune el cu modestie: „Eu am statutul de administrator.“
Astfel, răspunzând la întrebarea „de a fi sau de a avea?“, Ne cerem relația de bază în sistemul nostru și trebuie să se gândească foarte bine înainte de a trage o săgeată între clase.