Author name: dr. Dobreff Csaba

MVC programfelépítés megfigyelő minta használatával nem GUI alkalmazásban

Az előző néhány bejegyzésben azért jártuk körül részletesen a megfigyelő programtervezési mintát (observer design pattern), mert ezt a mintát lehet használni az MVC betűszóval jelölt programszerkezet megvalósítására is. Az MVC a Model, View és Controller angol szavakból ered, és egy olyan programfelépítésre utal, aminek lényege, hogy a modellt, vagyis az adatfeldolgozást, annak szabályait és logikáját …

MVC programfelépítés megfigyelő minta használatával nem GUI alkalmazásban Read More »

Megfigyelő minta attribútumleírók használatával

Az előző néhány bejegyzésben a megfigyelő tervezési minta (observer design pattern) alkalmazásával és megvalósítási változataival foglalkoztunk. Láthattuk a push és pull változatok közötti elvi különbséget, majd pedig az üzenetküldés feladatát kiszerveztük egy külön objektumba. Legutóbb megnéztük, hogy öröklés helyett hogyan lehet dekorátorokkal biztosítani a publikáló és feliratkozó objektumok azon képességeit, hogy a publikáló, vagy más …

Megfigyelő minta attribútumleírók használatával Read More »

Megfigyelő minta osztálydekorálással

Az előző bejegyzésekben a megfigyelő tervezési mintán (observer design pattern) alapuló alkalmazási példákkal és azok megvalósítási változataival foglalkoztunk. Ezek a klasszikus implementáción alapultak. Ez azt jelenti, hogy a publikáló és feliratkozó, vagy más szóval a megfigyelt és a megfigyelő konkrét osztályok a Publisher, illetve a Subscriber osztályokból örökölték a megfigyelő minta alkalmazásához szükséges képességeket, mint …

Megfigyelő minta osztálydekorálással Read More »

Értesítés küldés több forrásból több vevőnek – központosított üzenettovábbítás

Az előző három bejegyzésben azt a helyzetet modelleztük le programban, amikor egy szupermarket hírlevelére a vásárlók feliratkoznak azért, hogy ha új termék jelenik meg az áruház kínálatában, akkor arról értesítést kapjanak. A vásárlókat természetesen nem minden árucikk érdekeli, de ha igényük van rá, akkor is csak egy bizonyos árszint alatt hajlandóak az adott terméket megvenni. …

Értesítés küldés több forrásból több vevőnek – központosított üzenettovábbítás Read More »

Értesítés küldés állapotváltozásról – megfigyelő minta, Pull változat

Az előző két bejegyzésben egy áruház hírlevelére feliratkozó vásárlók új termék érkezéséről való tájékoztatását, és ennek alapján történő vásárlásokat modelleztük és kódoltuk a megfigyelő tervezési minta Push változata alapján. Most ugyanezt a feladatot a megfigyelő minta Pull változatával oldjuk meg. Ahogy arról az előzőekben szó volt, a Pull változat esetén a vevő előre megkapja az …

Értesítés küldés állapotváltozásról – megfigyelő minta, Pull változat Read More »

Értesítés küldés állapotváltozásról üzenetobjektum átadásával – megfigyelő minta, push változat

Az előző bejegyzésben azt a helyzetet modelleztük, amikor egy áruház új termék érkezésekor értesíti a címüket megadó vásárlókat, lehetőséget adva, hogy ha az adott termék, az adott áron érdekli őket, akkor meg tudják vásárolni. Láttuk, hogy a modellben csak a vásárlási hajlandóságot tudtuk megjeleníteni, aminek oka az, hogy a potenciális vásárlók csak a termékinformációt (terméknév …

Értesítés küldés állapotváltozásról üzenetobjektum átadásával – megfigyelő minta, push változat Read More »

Értesítés küldés állapotváltozásról – megfigyelő minta, push változat

Modellezzük le azt a helyzetet, amikor egy szupermarket hírlevelére a vásárlók feliratkoznak azért, hogy ha új termék jelenik meg az áruház kínálatában, akkor arról értesítést kapjanak. Természetesen nem minden árucikk érdekel minden vásárlót. A vásárlóknak eltérő igényeik vannak, és ráadásul hiába érdekli a termék, egy bizonyos árszint felett nem tudja vagy nem akarja megvásárolni. Viszont, …

Értesítés küldés állapotváltozásról – megfigyelő minta, push változat Read More »

Kivételkezelő szerkezetet vagy előzetes feltételvizsgálatot használjunk?

Minden programnak van egy tervezett ideális normál lefolyása, ami akkor valósul meg, ha minden az elvárások szerint történik. Ez utóbbi azt jelenti például, hogy egy függvény mindig a megfelelő típusú és értékű argumentumot kap, a felhasználó nem hibázik az adatbevitelnél, a fájl mindig létezik az adott néven, vagy egy hálózati kapcsolat soha nem szakad meg. …

Kivételkezelő szerkezetet vagy előzetes feltételvizsgálatot használjunk? Read More »

Hogyan tegyük nagybetűssé egy szöveg szavainak kezdőbetűit?

Ez a kérdés, illetve feladat például olyankor merül fel, ha egy személynevet tartalmazó karakterlánc csupa kisbetűvel áll rendelkezésre, de megjeleníteni a helyesírás szabályai szerint kívánjuk, azaz a családi- és utónevet nagy kezdőbetűvel akarjuk írni. Egy másik eset, ha angol nyelvű cikkben, könyvben vagy más írásműben a karakterlánc címsorként szerepel. Ilyenkor az angolban az egyes szavak …

Hogyan tegyük nagybetűssé egy szöveg szavainak kezdőbetűit? Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 5. befejező rész

Az előző bejegyzésekben, megadott specifikáció alapján egy Excelszerű egyszerű számolótábla fejlesztésébe kezdtünk. A megvalósítást három fő részre bontottuk, amelyből az első kettőt, vagyis a táblázat kirajzolását, valamint az egyes cellákban levő beviteli mezőkhöz tartozó kontrollváltozók létrehozását, már megtettük. A harmadik fázis az eseménykezelők kidolgozása. Ezekből a cellatartalom kiértékelését és aktualizálását végző eseménykezelőket, valamint egy adott …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 5. befejező rész Read More »