2. Mi a SMoRES irányelv? Milyen előnyei vannak az állapotgép struktúrának a szekvenciális programozással szemben? Mikor érdemes párhuzamosan futó ciklusokat használni?

  • SMoRES

    • Scalable — skálázható
    • Modular — moduláris
    • Reusable — újrafelhasználható
      • forráskód aktuális alkalmazásról leválasztható, hogy egy újabb projektben is fel lehessen használni
        • (=kellően absztrakt)
    • Extensible — bővíthető
      • mennyire nehézkes egy új funkció hozzáadása?
    • Simple — egyszerű
      • lehetséges megoldások közül a legegyszerűbb implementálása
  • állapotgép vs szekvenciális programozás

    • ???
    • saját kútfőből…
    • szekvenciális programozásnál a lépések végrehajtási sorrendjének változtatása nehézkes
    • új állapot hozzáadása és a meglévő szerkezetbe csatolása könnyű
      • csak az érintett elemeket kell újraírni/kiegészíteni, nem a teljes modult
  • párhuzamosan futó ciklusok használatának előnyei

    • független adatokkal dolgozás
    • reszponzivitás lehetővé tétele (tehermentesítés)