2011. május 17., kedd

Ütemezés, naptár design pattern

Ha valamilyen erőforrások munkaidejét, beosztását akarjuk nyilván tartani, és abból majd a szabad/foglalt időpontjait ki akarjuk nyerni, akkor arra alapból kétféle megoldás létezik.
  1. Előre X időre legeneráljuk a naptárját, minden napra időszeleteket tárolva, hogy mikor dolgozik, hol, mire allokálható, mikor mi van neki lefoglalva. Előnye többek között, hogy keresésnél gyors, pillanatok alatt megtudjuk amit akarunk. Hátránya hogy a naptárt folyton karban kell tartani, ha valami beállítás változik (pl a hétfői napon nem 8-kor hanem 9-kor kezd holnaptól), akkor végig kell menni és újragenerálni mindent.
    Ebben is van nehézség, pár sorban nem lehet összefoglalni, de a második pont miatt született a blog bejegyzés :)
  2. Másik megoldás, hogy valamilyen módon letároljuk az eseményeket, tevékenységeket, hogy mi mikor van, ismétlődik-e, ünnepnapokat karban tartjuk stb.
    Ilyenkor nem tároljuk le előre minden nap minden időszeletére hogy allokálható vagy nem, hanem megpróbáljuk "kiszámolni" olyan adatokból, hogy pl hétfőn 2 és 4 között dolgozik, kivéve minden hónap első hetét, és kivéve az ünnepnapokat. Most ez elég tömör megfogalmazás, itt is sokminden játszik.
    Na, ami miatt a blog bejegyzés született, az egy "design pattern" ennek a problémának az ilyen típusú megoldása, nem mástól, mint Martin Fowler-től.
    Íme:
    http://www.martinfowler.com/apsupp/recurring.pdf

Nincsenek megjegyzések:

Megjegyzés küldése