Felhasználó kezelés - vázlat

2011.03.24. 20:03 | arabiata | Szólj hozzá!

Címkék: uml hash tábla shared memory

 Az előző post-ban áttekintettük, hogy milyen részei lesznek a programnak. Nézzük most a felhasználó kezelő modult. E nélkül be sem tudunk lépni a programba, így ez a legfontosabb rész. Az ábra mutatja, hogy milyen osztályokból áll össze.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A dőlt betükkel írt változók felhasználó bevitelt jelentenek, az egyéb jelöléseket UML alapján használom. A hash_tabla magyarázata:

Az osztályok közötti adatok átadásának több módja van:

1. public változó, ekkor be kell forgatni a header fileokat mindkét osztályba.

2. közös osztály amit mindkét kommunikáló osztály elér. Ekkor a közös osztály header file-ját kell beforgatni mindenhova.

3. public függvényekkel private változókat írunk,olvasunk. A header probléma itt is megmarad

4. öröklődés, derived class protected változókkal. Itt a gyerek konstruktora meghívja a szülőét. Nem biztos, hogy jó megoldás. Nekem már sikerült végtelen ciklust létrehozni ezen az alapon

5. konstruktorban átadott értékek. de hogy adom vissza az eredményt a felsőbb osztálynak?

6. hash tábla. Itt csak a táblára mutató pointert kell az újonnan létrehozandó osztály konstruktorában átadni. Minden adatátvitel ezen a táblán megy keresztül.

Tekintve, hogy a hash tábla bejegyzésenként két értéket tartalmaz, az index-et és az igazi értéket, ez a legkényelmesebb. Egy kis bibi van csak, hogy az igazi érték csak egy féle lehet, pl. string vagy integer. Javasolt stringként kezelni mindent.

Eger_timer, egermozgas: az ablakokat nem hagyjuk örökké nyitva, hanem egy timer vezérlése alapján becsukjuk őket, ha nincs egérmozgás. Ha a felh. rángatja az egeret, mindig újraindítjuk a timer-t mouseMoveEvent segítségével.

shmem: megosztott memória terület (qsharedmemory). Ha azt akarom, hogy a program csak egy példányban fusson egy munkaállomásom, akkor írhatok egy 1 byte-os file-t, amit minden példány indulásakor megvizsgálok, és ha létezik, már fut a program. Ha hibával leáll a program, törölhetem az ott maradt pid file-t kézzel , hogy egyáltalán elinduljon a dolog. Hasonlóan működik a shared memory is. Minden példány indulásakor megpróbálok létrehozni egy virtuális pid file-t a memóriában. Ha nem sikerül, már fut a program. Persze a futás befejezésekor fel kell szabadítani ezt a memória területet.

Legközelebb egy kis adatbázis tervezés lesz a téma 

 

A bejegyzés trackback címe:

https://qtqt.blog.hu/api/trackback/id/tr912768986

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása