Universitatea "Babes-Bolyai" Cluj-Napoca
Facultatea de Matematica si Informatica
FISA DISCIPLINEI

Sabloane de proiectare
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Specializarea
MID0016
6
2+0+2
6
optionala
Informatică
MID0016
5
2+0+1
4
optionala
Matematică informatică
Cadre didactice indrumatoare
Prof. Dr. PÂRV Bazil,  bparvcs.ubbcluj.ro
Lect. Dr. DARVAY Zsolt,  darvaycs.ubbcluj.ro
Obiective
La terminarea cursului, studentii trebuie sa posede:
a) cunoasca si înteleaga sabloanele de proiectare de baza
b) fie capabili sa identifice posibilele sabloane într-o problema reala
c) foloseasca sabloane de proiectare adecvate în rezolvarea unor probleme reale
d) posede abilitatile necesare pentru a realiza proiecte reutilizabile
Continut
1. Generalitati despre sabloanele de proiectare
1.1. Istoric
1.2. Conceptul de sablon de proiectare
1.3. Clasificari ale sabloanelor
2. Sabloane creationale
2.1. Abstract Factory
2.2. Builder
2.3. Factory Method
2.4. Prototype
2.5. Singleton
3. Sabloane structurale
3.1. Adapter
3.2. Bridge
3.3. Composite
3.4. Decorator
3.5. Facade
3.6. Flyweight
3.7. Proxy
4. Sabloane comportamentale
4.1. Chain of Responsibilities
4.2. Command
4.3. Interpreter
4.4. Iterator
4.5. Mediator
4.6. Memento
4.7. Observer
4.8. State
4.9. Strategy
4.10. Template Method
4.11. Visitor

Prezentarea fiecarui sablon de proiectare respecta etapele: scop, problema rezolvata, descrierea structurii (inclusiv diagrama UML), exemple (un exemplu structural si cel putin un exemplu real).
Activitati de laborator
Implementari de sabloane si folosirea acestora în rezolvarea unor probleme concrete. Fiecare solutie se va implementa în cel putin doua limbaje (Java, C#, Visual Basic 6.0, Visual Basic .NET).
Materialele de curs si de laborator vor fi disponibile pe serverul Departamentului de Informatica, în directorul ..\labor\romana\an4\depa
Bibliografie
1. COOPER, JAMES W.: The Design Patterns Java Companion, Addison-Wesley, 1998.
2. COPLIEN, JAMES: Multi-Paradigm Design, PhD Thesis, Vrije Universiteit Brussel, 2000 [http://www.netobjectives.com/download/CoplienThesis.pdf].
3. ECKEL, BRUCE: Thinking in Patterns with Java [http://www.bruceeckel.com].
4. GAMMA, ERICH - HELM, RICHARD, - JOHNSON, RALPH - VLISSIDES, JOHN: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
5. MARTIN, ROBERT CECIL: Agile Software Development: Principles, Patterns, and Practices, Prentice-Hall, 2002.
6. STELTING, STEPHEN - MAASSEN, OLAV: Applied Java Patterns, Prentice Hall, 2001.
7. Data and Object Factory Patterns, [http://www.dofactory.com/patterns/Patterns.aspx]
Evaluare
Nota finala va reflecta activitatea de laborator si rezultatul de la colocviu - o lucrare scrisa. Se acorda:
1p din oficiu
1p prezenta la laboratoare
4p activitatea la laboratoare (temele predate, modul de implementare, respectarea planificarii etc)
4p nota la lucrarea scrisa - in ultima saptamana a semestrului.