ugrás a tartalomhoz

Archívum - Jan 16, 2019

Már azt se tudom, melyik végén fogjam meg... (OOP "tervezés")

mind1 valami név · 2019. Jan. 16. (Sze), 00.32
Megint elővettem kedvenc gumicsontom, a router logok feldolgozásának problémáját.
Nem tudok vele még elindulni sem igazán. Procedurális megközelítéssel nem lenne gond, kismillió if-then-else, néhány regex, oszt jónapot.
De OOP használattal...

Amit kitaláltam, az eleve rossznak tűnik, mert nem tudom úgy megfogalmazni a dolgokat, hogy objektumok, amelyeknek vannak tulajdonságai és viselkedése, mert jelen esetben max. a log sorait tudom elképzelni efféle objektumként, amiből lehet n+1 féle, közös ősből származtatott osztályt gyártani, épp csak felesleges.
És a feldolgozás nem része a sorra épülő osztály viselkedésének, azt valahogy nem tudom összepárosítani vele.

Ha a másik végéről indulok neki, hogy
ggyártok egy osztálynak nevezett elemet, ami példányosításkor kap
1. egy iterátort (megnyitott input file leginkább), aminek az elemein végig lépked
2. meg egy feldolgozó objektumot, aminek a metódusait hívogatja minden egyes elemnél (1. válogat -> kell-e foglalkozni az iterátorból jövő elemmel, ha igen, akkor mondjon rá egy típust, 2. parse-olás - az előzőtől kapott érték alapján feldarabol, 3. filter - a feldarabolt sort a típusa alapján ellenőrzi, hogy kell-e egyáltalán, 4. kigyűjti belőle az adatokat és a típushoz tartozó tárolóba pakolja, 5. loop, 6. vége az iterátor adatainak, visszaadja a begyűjtött adatokat)

Akkor meg ott akadok el, hogy ezt tisztán procedurális megközelítésnek tartom, szinte kizárólag a szintaxis kedvéért használok OO eszközöket.

Ráadásul az adatok tárolásának a helye sem tűnik jól meghatározhatónak, mert ebben a felállásban kb.