Cuprins
- 1. Introducere 3
- 2. Sabloane orientate obiect 4
- 2.1 Tipuri de şabloane orientate obiect 7
- 3. Clasificarea şabloanelor orientate obiect 11
- 4. Rolul şabloanelor de proiectare în rezolvarea problemelor de proiectare 20
- 4.1 Găsirea obiectelor adecvate ,.. 21
- 4.2 Determinarea granularităţii obiectelor 21
- 4.3 Specificarea interfeţelor obiectelor 21
- 4.4 Specificarea implementării obiectelor 22
- 4.4.1 Moştenirea claselor şi moştenirea interfeţelor 23
- 4.4.2 Programarea prin interfeţe şi nu prin implementări 24
- 4.5 Mecanisme ale reutilizării 25
- 4.6 Structuri stabilite la compilare şi structuri create la execuţie.. 28
- 4.7 Proiectare pentru Schimbare 29
- 4.8 Cadre de lucru (Frameaworks) 30
- 4.9 Cum selectezi un sablon de proiectare 33
- 4.10 Cum folosesti un sablon de proiectare 34
- 5 Sabloane de proiectare folosind MVC 35
- 5.1 MVC Model 1 versus Model 2 37
- 6. Sabloane de proiectare – XML 39
- 6.1 Fisiere Xml 39
- 6.2 Şabloane de proiectare a fişierelor XML 40
- 7. Studiu de caz – Site Builder 45
- 8. Bibliografie 48
Extras din proiect
Capitolul 1
Introducere
Lucrarea prezinta sabloanele de proiectare , ce sunt acestea si cum ne ajuta ele in rezolvarea problemelor de proiectare orientate obiect.Sabloanele de proiectare acapareaza solutii care au fost dezvoltate de-a lungul timpului, intr-un mod succint si usor de aplicat.
Lucrarea este structurata in 3 parti principale.In prima parte ( capitolele 2 , 3 si 4 ) ne este prezentata o viziune a sabloanelor de proiectare , un scurt istoric , cateva tipuri de sabloane si ce utilitate au acestea (Cap 2).Capitolul 3 clasifica sabloanele de proiectare , clasificare Gamma fiind cea mai complexa , ea imparte sabloanele dupa 3 mari criterii : Creational , Structural si Comportamental.Urmeaza apoi clasificarile Buschman si Zimmer.
Capitolul 4 ne prezinta rolul sabloanelor de proiectare in rezolvarea problemelor de proiectare.Acestea rezolva multe din problemele cu care se confrunta proiectantii.Iar cele mai frecvente fiind : gasirea obiectelor adecvate , determinarea granularitatii obiectelor , specificarea interfetelor obiectelor si respectiv specificarea implementarii obiectelor.Tot aici sunt prezentate cauzele comune ale reproiectarii , impreuna cu sabloanele de proiectare care li se adreseaza.
Cea de-a doua parte a lucrarii (capitolele 5 si 6) prezinta sabloane de proiectare folosind MVC si respectiv sabloane XML. MVC este un sablon de proiectare care leaga eficient interfata cu utilizatorul de modelul de date. Aceasta este foarte utila de folosit dar are insa si avantaje si dezavantaje. De cealalta parte sabloanele de proiectare XML beneficiaza de o structura simpla si totusi stricta , usor de analizat si foarte usor de definit si dezvoltat.
Cea de-a treia parte a lucrarii si ultima , cuprinde un caz de utilizare a sabloanelor de proiectare. Aplicatia este realizata cu ajutorul tehnologiei .NET si reda intr-un mod foarte simplu si concis construirea de pagini de catre utilizator.Exista 9 templateuri care sunt memorate in fisiere XML si apoi rendate in Browser cu XSL.
Capitolul 2
Sabloane orientate obiect
Proiectarea orientată pe obiecte a software-ului presupune identificarea de obiecte, abstractizarea lor în clase de granularitate potrivită, definirea interfeţelor şi ierarhiilor de moştenire, stabilirea relaţiilor între aceste clase.
Soluţia trebuie să rezolve problema şi să fie în acelaşi timp suficient de flexibilă pentru a rezista la noi cerinţe şi probleme ce pot apare în timp.
Proiectanţii cu experienţă refolosesc soluţiile bune de câte ori au ocazia. Există grupări de clase sau obiecte care se repetă în cele mai diferite sisteme. Acestea rezolvă probleme specifice, folosirea lor fac proiectele mai flexibile, mai elegante, reutilizabile. Un proiectant care stăpâneşte un set de asemenea şabloane le poate aplica imediat la noile proiecte fără a mai fi nevoit să le redescopere.
Şabloanele ce se pot refolosi pot fi general valabile sau specifice unui domeniu, de exemplu pentru probleme de concurenţă, sisteme distribuite, programare în timp real, etc.
Ce este un sablon de proiectare?
Un şablon de proiectare este o metoda formală de documentare a unei soluţii de succes la o problemă de proiectare. Ideea a fost introdusă de arhitectul Christopher Alexander şi a fost adaptată la numeroase discipline fiind utilizată şi în programare.
În programare un design pattern reprezintă o soluţie a unei probleme frecvent întâlnite în procesul de proiectare a unui soft (în software design). Un design pattern nu reprezintă o soluţie ce poate fi transferată direct în cod ci o descriere a cum se poate rezolva o problemă. În obiect-orientare un design pattern arată de obicei relaţiile şi interacţiunile dintre clase sau obiecte fară a specifica însă clasele sau obiectele finale ce vor fi folosite în aplicaţie. Algoritmii nu sunt consideraţi design patterns pentru că rezolvă probleme de calcul şi nu probleme de design.
Ce utilitate au?
Şabloanele de proiectare pot mări viteza procesului dezvoltare a unui soft prin oferirea unor paradigme de dezvoltare încercate şi testate în probleme similare. Procesul de proiectare a unui soft presupune şi analizarea unor probleme ce pot deveni vizibile abia târziu în procesul de implementare. Refolosirea şabloanelor de proiectare poate ajuta în prevenirea unor probleme majore ce pot fi cauzate de aspecte subtile care au nu au fost remarcate în procesul de proiectare. De asemenea folosirea acestor şabloane poate uşura înţelegerea codului pentru dezvoltatorii şi arhitecţii software familiari cu şabloanele respective.
Pot apărea însă şi dezavantaje în urma folosirii unor design patterns. Deoarece şabloanele de proiectare sunt concepute în general pentru a fi flexibile, folosirea lor poate duce uneori la o mărire nejustificată a complexităţii proiectului ce poate mări timpul de dezvoltare şi afecta perfomanţele produsului final.
Clasificarea
Şabloanele de proiectare pot fi clasificate în funcţie de tipul problemei pe care o rezolvă. Astfel ele pot fi împărţite în:
• Sabloane fundamentale
• Sabloane creationale - şabloane ce se ocupă cu crearea obiectelor
• Sabloane structurale - şabloane ce tratează relaţiile dintre entităţi
• Sabloane comportamentale - şabloane ce tratează comunicarea dintre obiecte
• Sabloane de concurenta
Puterea sistemelor dezvoltate folosind metodologii şi tehnologii orientate pe obiecte se datorează, în mare măsură, posibilităţii reutilizării diferitelor elemente rezultate în urma procesului de dezvoltare. Astfel, reutilizarea anumitor soluţii (dezvoltate în proiecte anterioare) poate apărea în diferite etape ale procesului de dezvoltare:
• Prin intermediul şabloanelor orientate obiect – aşa cum se va arăta în subcapitolul următor, utilizarea şabloanelor oferă posibilitatea reutilizării la nivelul etapelor de analiză (şabloane de analiză), proiectare (şabloane de proiectare şi arhitecturale) şi la nivelul codului (şabloane de implementare).
Preview document
Conținut arhivă zip
- Sabloane de Proiectare a Interfetelor Utilizator pentru Aplicatii Web.doc