Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Matematică
Programul de studii: Matematică-Informatică - linia de studiu maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MI095	Tervezési minták (Sabloane de proiectare)	

Félév	Órák: C+S+L	Kategória	Típus	
7	2+0+2	szaktárgy	választható	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
DARVAY Zsolt	Dr.	Lect.	Programozási nyelvek és módszerek	*			

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkituzései
A tárgy sikeres teljesítése esetén a diákok képesek kell legyenek arra hogy:
- megértsék és ismerjék az alapvető tervezési mintákat
- azonosítani tudják a mintákat a tervezési folyamatban
- több tervezési minta összekapcsolása által oldjanak meg valós feladatokat
- újrafelhasználható tervezést készítsenek	

IV. A tantárgy tartalma
A tervezési minta fogalma, objektumorientált szoftverfejlesztési módszertanok, létrehozási, szerkezeti és viselkedési minták.	

V. Könyvészet
1. COOPER, J.W.: The Design Patterns Java Companion, Addison-Wesley, 1998. 
2. ECKEL, B.: Thinking in Patterns with Java [http://www.bruceeckel.com].
3. GAMMA, E., R. HELM, R. JOHNSON, J.  VLISSIDES: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
4. Data and Object Factory Patterns, [http://www.dofactory.com/patterns/Patterns.aspx]	

VI. Az oktatói tevékenység heti tematikája
E1-E14 előadások, L1-L14 laboratóriumok

1. Bevezetés (E1)
- A tervezési minta fogalma
- Objektumorientált szoftverfejlesztési módszertanok
- A tervezési minták elméleti megközelítése
- Példa tervezési mintára (Abstract Factory)

2. Esettanulmány: szövegszerkesztő tervezése (E2-E6)
- Tervezési problémák
- Dokumentumszerkezet
- Formázás
- A felhasználói felület finomítása
- Több megjelenítési szabvány támogatása
- Több ablakkezelő rendszer támogatása
- Felhasználói műveletek
- Helyesírás-ellenőrzés és elválasztás

3. Létrehozási minták (E7-E8)
- Abstract Factory (Elvont gyár)
- Builder (Építő)
- Factory Method (Gyártófüggvény)
- Prototype (Prototípus)
- Singleton (Egyke)

4. Szerkezeti minták (E9-E10)
- Adapter (Illesztő)
- Bridge (Híd)
- Composite (Összetétel)
- Decorator (Díszítő)
- Facade (Homlokzat)
- Flyweight (Pehelysúlyú)
- Proxy (Helyettes)

5. Viselkedési minták (E11-E14)
- Chain of Responsibility (Felelősséglánc)
- Command (Parancs)
- Interpreter (Értelmező)
- Iterator (Bejáró)
- Mediator (Közvetítő)
- Memento (Emlékeztető)
- Observer (Megfigyelő)
- State (Állapot)
- Strategy (Stratégia)
- Template Method (Sablonfüggvény)
- Visitor (Látogató)

Laboratóriumi gyakorlat:
- példák létrehozó mintákra (L1-L2)
- példák szerkezeti mintákra (L3-L4)
- példák viselkedési mintákra (L5-L7)
- egy nagyobb projekt tervezése és megvalósítása, amelyben legalább egy létrehozó egy szerkezeti és egy viselkedési mintát használunk (L8-L13)	

VII. Alkalmazott didaktikai módszerek
Előadás, gyakorlati projekt, feladat, egyéni munka, párbeszéd	

VIII. Értékelés
A végleges jegy az alábbi részekből tevődik össze:
- J1: 20% laboratóriumi tevékenység (kitűzött feladatok)
- J2: 30% laboratóriumi tevékenység (projekt)
- J3: 30% elméleti vizsga (az utolsó héten)
- J4: 20% gyakorlati vizsga (az utolsó héten)
Sikeres a vizsga, ha az összes jegy >= 5.
JEGY = (2*J1+3*J2+3*J3+2*J4) / 10	

IX. Kiegészíto könyvészet
1. COPLIEN, J.: Multi-Paradigm Design, PhD Thesis, Vrije Universiteit Brussel, 2000 [http://www.netobjectives.com/download/CoplienThesis.pdf].
2. MARTIN, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice-Hall, 2002.
3. STELTING, S., O. MAASSEN: Applied Java Patterns, Prentice Hall, 2001.	

	Dátum,						Eloadás felelose,
		2007.05.14						Lect. Dr. DARVAY Zsolt