Előadás
1. Felügyelt futtatókörnyezetek. .NET alapok.
2. Modern nyelvi eszközök (property, delegate, event, attribútum, reflexió).
3. Eseményvezérelt programozás natív környezetben, üzenet alapú platformok.
4. Vastagkliens alkalmazások fejlesztésének alapjai felügyelt környezetben (RAD koncepciók, Windows Forms alapok, vezérlők, menük, események, vezérlők, dialógus ablakok). Nem felügyelt erőforrások életciklus menedzsmentje (destruktor, dispose).
5. Vastagkliens alkalmazások fejlesztése, folytatás. Rajz és szöveg megjelenítése.
Egyedi vezérlők kialakításának lehetőségei. Moduláris felhasználói felület kialakítása (usercontrol). Rajz és szöveg megjelenítése. Generikus típusok megvalósításának összehasonlítása az elterjedtebb platformokon.
6. Többszálú alkalmazások fejlesztése .NET környezetben: alapok.
7. Többszálú alkalmazások fejlesztése .NET környezetben: szinkronizációs problémák és megoldásuk (zárolási technikák, események). Threadpool fogalma és használata. Holtpont elkerülésének technikái.
8. Adatbázisok programozása felügyelt környezetben.
9. Szoftver architektúrák. Az architektúra nézetei. Architekturális tervezési minták: Document-View architektúra. A View (nézet) megvalósításának technikája. MVC, Pipes and Filters.
10. Architekturális tervezési minták folytatás: vállalati információs rendszerek architektúrája: rétegelés, kétrétegű (kliens-szerver) architektúra és problémái, kapcsolata a RAD-dal, háromrétegű architektúra. Többrétegű alkalmazások komponensekbe szervezése, függőségi problémák.
11. Tervezési minták: áttekintés, szerepük. Létrehozási minták (Singleton, Factory Method, Prototype).
12. Tervezési minták: fontosabb strukturális és viselkedési minták bemutatása (Observer, Memento, Bridge, Adapter, Iterator, Template Method).
13. Tervezési minták: fontosabb strukturális és viselkedési minták bemutatása (Proxy, Memento, Command, State, Strategy, Decorator). Néhány konkurens környezetben használatos tervezési minta bemutatása (Thread-safe Interface, Double-checked Locking Optimization, Strategized Locking).
Labor
1. C# alapok. Kódgenerálás modell alapján. Haladó objektumorientált koncepciók gyakorlása: mikor használjunk absztrakt őst, mikor interfészt, a két technika kombinálása.
2. Önálló feladat: gyakorlópéldák C# alapok, Base Class Library, haladó objektumorientált koncepciók témakörben.
3. Property, in/out/ref paraméterek, delegate (metódusreferencia), események (C# event)
4. Önálló feladat: gyakorlópéldák property, in/out/ref paraméterek, delegate (metódusreferencia), események (C# event) témakörben.
5. Vastagkliens alkalmazások fejlesztésének alapjai (Windows Forms).
6. Önálló feladat: gyakorlópéldák Windows Forms témakörben
7. Többszálú alkalmazások fejlesztése .NET környezetben. Zárak és események használata.
8. Önálló feladat: gyakorlópéldák többszálú alkalmazásfejlesztés témakörben.
9. Adatbázisok programozása felügyelt környezetben.
10. Önálló feladat: adatbázisok programozása.
11. Architekturális minták (Document-View).
12. Önálló feladat: document-view alapú alkalmazásfejlesztés gyakorlása
13. Tervezési minták
14. Önálló feladat tervezési minta témakörben