MID0016 | Sabloane de proiectare |
Titularii de disciplina |
Prof. Dr. PÂRV Bazil, bparvcs.ubbcluj.ro Lect. Dr. DARVAY Zsolt, darvaycs.ubbcluj.ro |
Obiective |
La terminarea cursului, studenţii trebuie să:
a) cunoască şi înţeleagă şabloanele de proiectare fundamentale b) fie capabili să identifice posibilele şabloane în faza de proiectare c) ştie să folosească combinaţii de şabloane de proiectare în rezolvarea unor probleme reale d) posede abilităţile necesare pentru a realiza proiecte şi componente soft reutilizabile |
Continutul |
1. Introducere
1.1. Ce este un şablon de proiectare 1.2. Descrierea şabloanelor de proiectare 1.3. Catalogul şabloanelor de proiectare 1.4. Probleme de proiectare rezolvate de şabloanele de proiectare 1.5. Cum se alege un şablon de proiectare 1.6. Cum se foloseşte un şablon de proiectare 2. Studiu de caz 2.1. Enunţul problemei 2.2. Probleme de proiectare 2.3. Structura documentului 2.4. Formatarea 2.5. Interfaţa cu utilizatorul 2.6. Mai multe standarde de aspect şi interacţiune 2.7. Mai multe sisteme de ferestre 2.8. Operaţii utilizator 2.9. Prelucrări analitice 3. Şabloane creaţionale 3.1. Introducere 3.2. Abstract Factory 3.3. Builder 3.4. Factory Method 3.5. Prototype 3.6. Singleton 3.7. Concluzii 4. Şabloane structurale 4.1. Introducere 4.2. Adapter 4.3. Bridge 4.4. Composite 4.5. Decorator 4.6. Facade 4.7. Flyweight 4.8. Proxy 4.9. Concluzii 5. Şabloane comportamentale 5.1. Introducere 5.2. Chain of Responsibility 5.3. Command 5.4. Interpreter 5.5. Iterator 5.6. Mediator 5.7. Memento 5.8. Observer 5.9. State 5.10. Strategy 5.11. Template Method 5.12. Visitor 5.13. Concluzii Prezentarea fiecărui şablon respectă etapele: scop, problema rezolvată, descrierea structurii (inclusiv diagrama UML), exemple (un exemplu structural şi cel puţin un exemplu real). Activităţi de laborator Trei mini-proiecte, ce vor conţine folosirea şabloanelor de proiectare creaţionale, structurale şi respectiv comportamentale. Fiecare soluţie va fi implementată în două limbaje de programare diferite (Java, C#, Visual Basic 6.0, Visual Basic .NET, Python, etc). Materialele de curs şi de laborator sunt disponibile pe serverul Win, în directorul ..\labor\romana\an3\Design Patterns |
Bibliografie |
1. COOPER, J.W.: The Design Patterns Java Companion, Addison-Wesley, 1998.
2. COPLIEN, J.: Multi-Paradigm Design, PhD Thesis, Vrije Universiteit Brussel, 2000 [http://www.netobjectives.com/download/CoplienThesis.pdf]. 3. ECKEL, B.: Thinking in Patterns with Java [http://www.bruceeckel.com]. 4. GAMMA, E., R. HELM, R. JOHNSON, J. VLISSIDES: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. 5. MARTIN, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice-Hall, 2002. 6. STELTING, S., O. MAASSEN: Applied Java Patterns, Prentice Hall, 2001. 7. Data and Object Factory Patterns, [http://www.dofactory.com/patterns/Patterns.aspx] |
Evaluare |
Nota finală va reflecta activitatea de laborator, calitatea mini-proiectelor realizate şi rezultatul la examenul scris (în ultima săptămână, la curs). Se acordă (pe o scală de notare cu 10 puncte):
1p din oficiu 1p prezenta la seminar/laborator 4p mini-proiectele realizate 4p examenul scris |
Legaturi: | Syllabus-urile tuturor disciplinelor Versiunea in limba engleza a acestei discipline Versiunea in format rtf a acestei discipline |