3F BlackJack program paramétereinek módosítása - azonosító felvétele teljesítményszámlálókhoz

0 votes
asked Apr 16, 2013 in IRF tantárgy by anonymous  
edited Apr 18, 2013 by micskeiz

Sziasztok!
Feladatomban 5 teljesítményjellemzőt kell meghatároznom és elkészítenem, úgy hogy windows-os teljesítményszámlálóként lekérdezhető legyen. Ehhez módosítanom kell/lehet a kiadott BlackJack programot.
Szeretném megkérdezni, hogy tehetek e olyan mértékű változtatást bele, hogy a külső Program osztályból példányosítanák egy GameLoop-ot:

public static void Main(string[] args)
{
    GameLoop g = new GameLoop(args[0]);
}

És így a GameLoop konstruktorába hoznám létre a számlálókat és innen hívnám meg a Run függényt:

public GameLoop(string sessionName)
{
    this.SessionName = sessionName;

    totalHitCounter = new System.Diagnostics.PerformanceCounter(CategoryName, "TotalHits", this.SessionName, false);

    Run();
}

Szabad/érdemes ilyen mértékű változtatást csinálni?
Erre egyébként azért lenne szükségem, mivel írja a feladat,hogy "a teljesítményszámlálóknak többpéldányosaknak kell lenniük." És gondolom ez által lehet megkülönböztetni a példányokat.
(legalábbis a kiadott GuessGame-ben így van megvalósítva)

1 Answer

0 votes
answered Apr 17, 2013 by micskeiz (2,873 points)  
edited Apr 18, 2013 by micskeiz
  1. Igen, szabad a belső felépítést és konstruktorokat megváltoztatni

  2. A sessionName jó azonosító lehet a számlálókhoz, viszont a kódban akkor érdemes kikényszeríteni, hogy ez tényleg egyedi legyen.

  3. UPDATE: mivek a BlackJackben nincs beépítve valami egyedi játékos/munkamenetazonosító, ezért a parancssori paraméterezését is lehet módosítan.

commented Apr 17, 2013 by anonymous  
Köszönöm a választ.
Írtad, hogy a main paraméterezésén ne változtassak, de hogyha azt nem alakítom át úgy hogy lehessen neki argumentuma, akkor hogy tudja a felhasználó megadni a sessionName-et?
Így most akkor abszolút nem tudom, hogy hogy tudna egyáltalán megadni a felhasználó bármi megkülönböztető nevet, hogyha nem adhat meg semmit a main-ben?:S

Vagy úgy gondolod, hogy amikor elindul a program akkor legelőször a konzolra írjon egy üzenetet, hogy add meg a sessionName-t és akkor megadja a konzolról ezt?
...