SzoftTechZH20140414
Beugró:
60% (27 pont) kellett, 45p összesen
1. feladat:
a. UserControl fogalma és jelentősége a tervezés/fejlesztés során. (3p)
b. Üzenetkezelő ciklus megmagyarázása. (2p)
c. C# kódot kellett írni: a 20,20 koordinátára rajzoljon ki egy 60px oldalhosszúságú telizöld négyzetet, és ennek másodpercenként csökkenjen az oldalhosszúsága 5px-el addig, amíg az x billentyű le nem lett nyomva. (12p)
2. feladat:
a. Mikor érdemes többszálú alkalmazást használni? 3 alkalom. (3p)
b. ReaderWriterLock (vagy ReaderWriterLockSlim) és Mutex összehasonlítása. (2p)
c. C# kódot kellett írni: konkurrens stack megvalósítása, egészeket tárol, void Push(int i) művelet betesz egy számot a tetejére, int Pop() pedig visszaadja a tetején lévőt (de nem törli). (9p)
3. feladat:
C# kódot kellett írni: Square osztály, private int side mező, public SetSide(int newValue) metódus beállítja a mező értékét, majd elsüti a SideChanging eseményt, és ebben paraméterül visszaadja a sides mező régi és új értékét is. Ezt kellett megvalósítani, meg egy másik osztályt, ami feliratkozik az eseményére. (14p)
Maradék:
55p összesen
4. feladat:
ADO.NET kapcsolatalapú modellel kellett a Movie(MovieID, Title, Rating) táblából kitörölni azokat a sorokat, ahol a Rating < 7 vagy nincs megadva. (13p)
5. feladat:
a. UML osztálydiagramból kellett C#, Java, vagy C++ kódot írni. (6p)
b. Leírtak egy történetet, hogy te vagy a vezető szoftverfejlesztő egy cégnél, ahol képkezelő alkalmazást készítenek C#-ban. A képtípusokat (PngImage, GifImage, ...) összefogták egy közös ős, az ImageBase alá, hogy elkerüljék a kódduplikálást. Szeretnék a JPEG támogatást is hozzáadni, erre az egyik alkalmazott talált egy küldő dll-t, ami tartalmaz egy JpegBase absztrakt osztályt, ami jó lenne a Jpeg képek ősének. Kritikus döntést kell hoznod: hogyan módosítanád a jelenlegi struktúrát úgy, hogy a dll-t fel lehessen használni? A dll nyilván nem módosítható (nem tudod leszármaztatni osztályból, nem valósíthat meg interfészt, de pl. belőle származhatnak le). A megoldást meg is kellett magyarázni. (9p)
6. feladat:
a. A C++ template-ek három nagy hátránya, ami .NET-ben nincs. (3p)
b. Reflexió fogalma, 3 szolgáltatása. (3p)
c. Reflexiós példakód: változó típusának kiírása. (4p)
d. Reflexiós példakód: osztály tagváltozóinak a neveinek a kiírása. (4p)
7. feladat:
a. Adatforrás által vezérelt csővezeték szekvencia diagrammal + magyarázattal. (8p)
b. Csővezetékbe beépíthető szűrő pszeudokód. (6p)