Programtervezési minták (GEIAL517M) Jegyzőkönyv

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programtervezési minták (GEIAL517M) Jegyzőkönyv"

Átírás

1 Miskolci Egyetem, Általános Informatikai Tanszék Programtervezési minták (GEIAL517M) Jegyzőkönyv

2 Tartalom Létrehozó minták Egyke Factory Builder Prototype...9 Szerkezeti minták Adapter Bridge Composite (Össztétel) Decorator (Díszítő) Proxy Facade (Homlokzat)...21 Viselkedési minták Command (Parancs) Observer (Megfigyelő) Chain of Responsibility (Felelősség lánc) Mediator (Közvetítő) State (Állapot) Strategy (Stratégia)

3 1 Létrehozó minták 1.1Egyke Feladat: A fogyasztó saját ritmusában, saját algoritmusa szerint működve felhasználja a termelő által előállított terméket. Legyen a raktár egy csak egy példányban létező objektum. o a termelő beteszi a terméket, o a fogyasztó pedig kiveszi A fogyasztó és termelő számra nem kötött legyen véletlen érték között (az elején érdemes fix darabszámmal dolgozni) A termelő és a fogyasztó sebességére nincs kikötésünk, így minden szálban véletlen ideig várakozzunk ( ms) A raktár limitált méretű, csak 3000 terméket képes tárolni. A termék fontos tulajdonsága a neve, amely azonosítja a létrehozó szál neve + sorszáma. Készítsen osztály diagramot az alkalmazás modellezésére! A feladat osztálydiagramja: 3

4 A diagram részei: Producer: Kliens oszály, ismeri a terméket és a raktárt Consumer: Kliens oszály, ismeri a terméket és a raktárt Repository: A Singleton. Definiál egy Instance statikus property-t, mellyel elérhetővé teszi az egyetlen példányt. A statikus get property lockolva van a párhuzamos hozzáférés miatt public static Repository Instance { get { lock (Repository.lockString) { if (instance == null) { instance = new Repository(); } return instance; } } } A termelő és a fogyasztó a raktár példányát csak a statikus property-n keresztül éri el. Ha már volt példányosítva akkor visszatér a példánnyal, ha még nem, akkor létrehozza az új raktár példányt. 4

5 Product: A termék osztálya A Singleton repository használata egyszerű: Új termék hozzáadása: Product p = Repository.Instance.AddProduct(new Product()); Termékeket így vehetünk ki a raktárból: Product p = Repository.Instance.GetProduct(); A Singleton kiváltja a globális változókat, így szabályozottan férhetünk hozzá globális objektumhoz. 5

6 1.2Factory Feladat: Az előző (termelő-fogyasztó) feladatban Különböző megvalósítású, de azonos felületű termékek létrehozása Factory mintával, hogy a termelőktől és a fogyasztóktól elszigeteljük a konkrét típusokat. Cél: Új termék bevezetésekor a termelőnek és a fogyasztónak minimális módosítás, ismeret legyen szükséges. A feladat osztálydiagramja Részei: Az előző feladatból: Consumer, Repository, Producter. A szerepük nem változott. Producer: A producer az előző feladatban betöltött szerepen kívül, ő lett a kliens. Ismeri a terméket és a gyárat, terméket kér a gyártól. Product: Fejlődött az előző feladathoz képest. A Product absztrakt osztály, a termékek jellemzőit foglalja össze. 6

7 Product1, Product2: Konkrét termékek. Közös ősük a Product ostály. ProductFactory: Van egy create metódusa, mely Product típusú objektummal tér vissza. Adott paraméter alapján eldönti, hogy milyen konkrét productot hozzon létre. Példa termékek példányosítására: ProductFactory productfactory = new ProductFactory(); Random r = new Random(); Product p = null; p = productfactory.create(r.next(1, 3)); A minta használatával új termékek bevezetésekor a kliens csak a paraméter változását tudja, változtatni csak a ProductFactory létrehozó metódusát kell. 1.3Builder Feladat: Készítsen egy C# alkalmazást, amely komponensek létrehozásának menetét mutatja be! Készítse el a komponens osztályt! o Legyen ToString metódusa, amely kiírja nevét, és az aktuális szerkezetét! A komponensek különböző felépítésük lehetnek (van neve string): o Portok 0..* (van neve, id-je, amely legyen egyedi, kapacitása) adat (kimenet vagy bemenet) típus (string) o LogInterfész 0 1 (van id-je) Készítsen építő osztályokat tipikus komponensekre! o Adatszűrő (1 bementi adatportja és 1 kimeneti adatportja van) o Monitor (1 bementi adatportja és 1 kimeneti adatportja van) o Információ forrás (1 kimeneti adatportja van) o Információ nyelő (1 bementi adatportja portja van) 7

8 A feladat osztálydiagramja A ComponentBuilder absztrakt osztály ismeri a Component osztály részeit és tartalmazza a Component osztály részeit előállító metódusokat. A Director osztály ismeri a ComponentBuilder absztrakt osztályt és használja metódusait. A Port és a LogInterface osztályok a Component részei. A klines létrehozza a Director-t és átadja neki ComponentBuilder megfelelő leszármazott osztályának a példányát. A főprogram: Director director = new Director(); ComponentBuilder cb = new MonitorBuilder(); director.setcomponentbuilder(cb); director.create(); Component c = director.getcomponent(); cb = new DataFilterBuilder(); director.setcomponentbuilder(cb); director.create(); Component c2 = director.getcomponent(); Console.WriteLine(c.ToString()); Console.WriteLine(c2.ToString()); 8

9 A program kimenete: A minta használatával a termék példányosítása ellenőrzötten történik, csak a director felügyelete mellett lehetséges, ami csak kész terméket ad át a kliensnek. 1.4Prototype Az előző feladat bővítése: A felhasználó tudjon több komponens példányt is létrehozni, amelyet egy listában tárolunk! Az új példányok mindig egy alapértelmezett értékkel jönnek létre, amelyet a felhasználó megváltoztathat. Gondoskodjon arról, hogy a listában levő elemek állapotát meg lehessen változtatni (konzol alkalmazásban egy menü)! Gondoskodjon arról, hogy a klónozott objektumok teljesen függetlenek legyenek a prototípus objektumtól (deep copy) A kibővített osztálydiagram: 9

10 A Prototype interfésznek van egy Clone metódusa, mellyel önmagát klónozza. A Comonent osztály implementálja a Prototype interfészt, ez az osztály a konkrét prototípus a modellben. A Prototípus minta egy egyszerű és hatékony módja objektumok másolásának. Az objektumok inicializálásának idejét rövidíti. 2 Szerkezeti minták 2.1Adapter Az adapter minta használatának gyakorlásához egy egyszerű példa elkészítése a feladat, amelyben szándékosan más néven akarjuk használni a metódusokat. Az elkészített feladatban egy egyszerű, négy alapműveletes számológép osztályhoz csinálok egy példát az osztály adaptálására. 10

11 A diagram részei: ICalculator: A cél felület interfésze. A Client osztály ismeri. Client: Az ügyfél osztály, amely felhasználja a Target interface objektumát RealCalc: Az illesztendő felület, meghatározza az interfészt, melyet illeszteni kell (az adaptee). MyCalculator: Összeilleszti az ICalculator interfészt a RealCalc felületével Példa a használatára: ICalculator calc = new MyCalculator(); double a = 20; double b = 5; Console.WriteLine("{0} Console.WriteLine("{0} Console.WriteLine("{0} Console.WriteLine("{0} + * / {1} {1} {1} {1} = = = = {2}", {2}", {2}", {2}", 11 a, a, a, a, b, b, b, b, calc.add(a, b)); calc.subtract(a, b)); calc.multiply(a, b)); calc.divide(a, b));

12 A kliensnek csak az ICalculator felületét kell ismernie, az adapter elrejti a művelteket ténylegesen végrehajtó osztályok részleteit. 2.2Bridge Feladat: Készítsen egy grafikus alkalmazást, amely 3 féle objektumot kezel: kör, négyzet, kereszt Mindegyiknek legyen alapértelmezett mérete: o A körnek az átmérő o A négyzetnek a két átfogó csúcs távolsága o A keresztnek a hossza Helyezzen el véletlenszerűen grafikus objektumokat a képernyőn Tegye lehetővé, hogy bármelyiket egy közös dialógusablakon (vagy frame) keresztül lehessen átméretezni, áthelyezni! (Vagy klikkelés, vagy combobox a kiválasztásra) Ha valaki megváltoztatja a kijelölt objektumot, akkor a beállító helyen az aktuális értéket lássuk! Használja a Bridge mintát! Definiáljon egy Shape osztályt, aminek van egy implementora, ami kör vagy négyzet vagy plusz jel. A Shape-nek vannak position, size tulajdonságai Ezek a tulajdonságok az implementort használják arra, hogy megváltoztassák az objektumok paramétereit 12

13 Érdemes a kirajzoláshoz is a Shape osztályt használni. Kép az elkészített alkalmazásról: A feladat osztálydiagramja Részei 13

14 Shape: Az elvont ábrázolás felület. Felületet biztosít a Circle, Square és Cross osztályoknak. A hozzá érkező kéréseket az IShapeDrawer Implementor felé továbbítja. Circle, Square, Cross: A finomított elvont ábrázolás osztályai. IShapeDrawer: Az implementor (megvalósító felület) osztály. Kirajzoló felületet biztosít. CanvasDrawer: A konkrét megvalósító osztály. Implementálja a az IShapeDrawer Implementort a wpf-es Canvas controlra tudja kirajzolni az alakzatokat és tuja törölni a Canvas-t. A grafikus objektumok létrehozása: Random r = new Random(); cd = new CanvasDrawer(canvas1); for (int i = 0; i < 30; i++) { int num = r.next(1, 4); Shape s = null; switch (num) { case 1: s = new Cirlcle(this.cd); break; case 2: s = new Square(this.cd); break; case 3: s = new Cross(this.cd); break; } s.size = r.next(10, 50); s.y = r.next(200); s.x = r.next(500); s.id = i; Shapes.Add(s); } Ha változik valamilyen paraméter, akkor az alakzatok újra rajzolása a következőképpen történik: cd.clear(); 14

15 foreach (Shape s in Shapes) { s.draw(); } A minta használatával az objektumokat kirajzoló programrészt lecserélhetjük úgy, hogy a többi osztályt nem kell módosítani (ha például a WPF-es Canvas helyett valami mást akarnék használni). 2.3Composite (Össztétel) Feladat: A komponensek névterekbe vannak hierarchikusan rendezve. Egy névtérben lehetnek komponensek és újabb névterek is. Minden komponensnek vannak tulajdonságai és metódusai a. Legfontosabb a komplexitás, ami egy lebegőpontos szám (mennyire bonyolult a komponens feladata) b. ToString metódus: összesítés, melyik elemből mennyi, majd alelemeit alatta kiírja c. ToXML metódus: a ToString XML verziója d. Count tulajdonság: az alatta lévő összes elem (komponens és névtér) e. ComponentCount tulajdonság: az alatta lévő komponensek száma. f. ContextCount tulajdonság: az alatta lévő komponensek száma Készítsünk egy alkalmazást, amely ezt a fa struktúrát kompozit minta alkalmazásával valósítja meg! a. Adott részfa (csomópont) elemére lekérdezhetjük, hogy mennyi a komplexitása (áthelyezhető-e a részfa egésze egy processzorra)! b. Készítsük el a ToString, ToXML metódusokat! Készítsünk egy grafikus alkalmazást, amely a fenti elemeket használja, és egy fa vezérlőben mutatja az elemeket! Kép az elkészült alkalmazásról: 15

16 A feladat osztálydiagramja Component: A faszerkezet levele (egy komponens) SoftwareElement: Az összetétel osztályok (Component és NameSpace) közös felülete. NameSpace: Összetétel osztály. Lehetnek gyerekei: NameSpace, vagy Component. 16

17 Részlet a hierarchia létrehozásáról: SoftwareElement root = new NameSpace("RootNS"); SoftwareElement c1 = new Component("component1", 2); SoftwareElement c2 = new Component("component2", 4);... (root as NameSpace).Add(c1); (root as NameSpace).Add(c2); Így olyan osztályhierarchia valósul meg, amely az alap objektumok rekurzívan építi egyre bonyolultabb objektumokká A kliensnek nem kell tudnia, hogy a kérést egy komponensnek vagy névtérnek adja át, ugyanis ezek egységesen vannak kezelve, ha a kérést levél kapja, akkor az végrehajtódik, ha belső csomópont, akkor továbbítódik a levelek felé. 2.4Decorator (Díszítő) Példafeladat: Készítsen egy Component osztályt, amely képes végrehajtani egy operációt, majd különböző dekorátorokkal módosítsa a viselkedését. Készítsen egy dekorátor osztályt, amely naplózza a mozgás tényét. Készítsen egy dekorátor osztályt, amely kimondja a kapott parancsot, és ha a pozícióba ér (esemény). Készítsen egy objektumot, amely naplózza is a mozgás tényét és ki is mondja a kapott parancsot. Az elkészített objektum: Component c; RobotComponent rc = new RobotComponent(new Point() { X = 0, Y = 0 }); MovingLoggerDecorator mld = new MovingLoggerDecorator(rc); SpeakerDecorator sd = new SpeakerDecorator(mld); c = sd; 17

18 c.moveto(new Point() { X = 12, Y = 54 }); A két dekorátor hozzáadásával a robot komponens megkapta a további képességeket. Az elkészített konzolos alkalmazás kimenete: Az elkészített feladat osztálydiagramja: 18

19 Az osztálydiagram részei Component: Absztrakt osztály, megadja a felületet azoknak az objektumoknak, melyek dinamikusan bővíthetőek lesznek. Egy absztrakt metódusa van. RobotComponent: A Component osztályból származik, implementálja a MoveTo metódust. ComponentDecorator: Egy Component típusú adattagja van. A Component típusú objektumokat tudja bővíteni, meghatároz egy felületet, amely illeszkedik a Component-re. SpeakerDecorator: A Component MoveTo metódusát kiegészíti úgy, hogy az naplózza a mozgás tényét. MovingLoggerDecorator: A Component MoveTo metódusát kiegészíti úgy, hogy kimondja a kapott parancsot, és ha a pozícióba ér. A minta használatának előnye, hogy a díszítők láncolásával több tulajdonságot egyszerűen tudnunk hozzáadni futásidőben. 2.5Proxy Feladat szövege Készítsen konzolalkalmazást, ami web service-t használva végez el valamilyen műveletet. A szolgáltatás elérése proxy objektumon keresztül történjen. A kliens kódon ne látszódjon, hogy a művelet egy távoli gépen hajtódik végre. Feladat megoldása: 1. Létrehoztam egy új ASP.NET webes alkalmazást és egy Console alkalmazást 19

20 2. A webalkalmazásban létrehoztam egy WebCalc nevű webservice-t, ami tud összeadni, kivonni, szorozni és osztani. 3. A webalkalmazást elindítottam a localhoston, a service wsdl elérhető volt a következő címen: 4. Ez után létrehoztam a console alkalmazást és Visual Studioban hozzáadtam a projekthez egy web referenciát az előbb létrehozott webservice-re. 5. A console alkalmazás Main metódusában használtam a service-t a Visual Studio által generált proxy osztállyal. static void Main(string[] args) { WebCalc.WebCalcSoapClient webcalcproxy = new WebCalc.WebCalcSoapClient(); int a = 3; int b = 6; Console.WriteLine("{0} + {1} = {2}", a, b, webcalcproxy.add(a, b)); Console.ReadKey(); } Az így létrehozott WebCalcSoapClient osztály példánya miatt a távoli végrehajtás helyinek tűnik. A Visual Studio által generált WebCalcSoapClient valójában soap kérés küld a webes szolgáltatásnak. A Console alkalmazás kimenete: 20

21 2.6Facade (Homlokzat) Feladat szövege: Készítsen konzolos alkalmazást, ami egy számítógép elindulását modellezi. A számítógép legalább 4 komponensből álljon. Használja a facade mintát. A feladat osztálydiagramja: 21

22 A diagram részei: Computer: A homlokzat. A kliens (user) kéréseit továbbítja az alrendszerek osztályai felé. Alrendszeri osztályok: CPU, Keyboard, VideoCard, DDRRAM, HDD. Az alrendszeri osztályok nem tudják, hogy ők egy Computer részei, csak elvégzik a kéréseket. A feladatban a Computer osztály Start metódusa modellezi egy számítógép elindulását. Beállítja a billentyűzet kapcsolóit, majd megnézi, hogy nyomtak-e billentyűt. Ha igen, akkor elindítja a BIOS-t, egyébként megkezdi a bootfolyamatot. Betölti a memóriába winchester bootszektorát, majd beállítja a processzor program counter regiszterét a memória boot címére. this.keyboard.capslock = false; this.keyboard.numlock = false; this.keyboard.scrolllock = false; if (this.keyboard.puffer.count!= 0) { this.biosstart(); } this.vcard.display("start computer...\n"); this.memory.load(ram.bootaddress, this.hdd.read(hdd.bootsectoraddress, HDD.SectorSize)); this.cpu.jump(ram.bootaddress); this.cpu.execute(); A használatának fő előnye, hogy a nagyon bonyolult metódushívásokat összegyűjthetjük egy metódusba. Az alrendszerek között jelentősen csökkentik az egymástól függést, laza kapcsolat alakítható ki közöttük. 22

23 3 Viselkedési minták 3.1Command (Parancs) Készítsen egy grafikus számológép alkalmazást, amely Operatorokat, operandusokat (számokat) tartalmaz, Látható a történet, Lehetséges tetszőleges számú művelet visszavonása (Undo), Lehetséges a többszöri ismétlésre (Redo), Véglegesítés (Commit), ilyenkor a történet kezdőpontja az adott pont lesz, előtte levő műveletek nem láthatóak nem vonhatóak vissza, A történetből tetszőleges elem újra elvégezhető. A command pattern-t implementáló számológép alkalmazást WPF-ben írtam meg. Képek az alkalmazásról: 23

24 24

25 A feladat megoldásának osztálydiagramja Részei: CalculatorCommand: absztrakt osztály. parancsaihoz biztosít egy absztrakt ősosztályt A CalculatorCommand leszármazottai egymáshoz rendelik a Calculator-t (a fogadó osztályt) és egy-egy műveletet. A Calculator megfelelő metódusainak hívásával implementálják az Execute és az Unexecute metódusokat A számológép o AddCommand: Parancs osztály az összeadáshoz. o SubtractCommand: Parancs osztály a kivonáshoz. o MultiplyCommand: Parancs osztály a szorzáshoz. o DivideCommand: Parancs osztály az osztáshoz. MainWindow: Hívó és ügyfél a modellben. Létrehozza a CalaculatorCommand példányokat és beállítja a fogadó osztályt, felkéri a létrehozott CalculatorCommandot, hogy hajtasa végre (Execute) a műveletet, vagy vonja vissza (UnExecute) a legutóbb végrehajtott műveleteket. Mindig a legutóbb végrehajtott, még nem visszavont műveletet vonja vissza. Calculator: A implementálja. fogadó osztály. 25 A számológép műveleteit

26 Példa a használatra: Parancsokat hozunk létre végrehajtjuk és tároljuk. calculator = new Calculator(); switch (lastoperation) { case "+": calculatorcommand = new AddCommand(calculator, value); break; case "-": calculatorcommand = new SubtractCommand(calculator, value); break; case "/": calculatorcommand = new DivideCommand(calculator, value); break; case "*": calculatorcommand = new MultiplyCommand(calculator, value); break; default: throw new InvalidOperationException("Operation: " + lastoperation); } calculatorcommand.execute(); Commands.Add(calculatorCommand); Így a kérelmeket objektumokba ágyazzuk, a kliensnek különböző kéréseket adhatunk át, amelyeket sorba rendezhetünk és vissza is vonhatunk. Mivel objektumba vannak ágyazva tudjuk a kéréseket ideiglenesen tárolni, könnyíti a kérések naplózását. 3.2Observer (Megfigyelő) Feladat: Készítsen grafikus alkalmazást, amely - Lehetőséget biztosít egy szín érték beállítására, - Felső részén 3 db csuszka található (R,G,B) színkomponensek állítására, - Alsó részeiben a beállított érték megjelenítése található: 26

27 o 3 db csak olvasható beviteli mező, o Egy adott színű panel, o 3 oszlop megfelelő magassággal. - Ha változtatjuk a felső részben levő csuszkát, akkor az alsó mezőben levő nézetek frissüljenek automatikusan. Képek az elkészített alkalmazásról: 27

28 A feladat osztálydiagramja Részei: IColorPickerSubject: Az alany interfész ebben a modellben. Interfész a megfigyelők csatolásához és értesítés küldéshez. IColorPickerObserver: Frissítő interfész az értesítendő objektumoknak. SliderValues: Az alany interfészt implementálja. Három értéket tartalmaz, a csuszkákhoz. A csuszkák változásáról értesítést küld a megfigyelőknek. RGBColor: Megfigyelő interfészt implementáló osztály. Egy színt reprezentál az RGB színkomponensekkel és ecset objektumot, amely színe az adott RGB. Columns: Megfigyelő interfészt implementáló osztály. A három tulajdonsága a három oszlop magassága százalékban. A minta használatával az objektumok létrehozása a következőképpen történik: public class ColorPickerDataContext { private RGBColor rgbcolor; private SliderValues sv; private Columns columnheights; public ColorPickerDataContext() 28

29 { this.rgbcolor = new RGBColor(); this.sv = new SliderValues(); this.columnheights = new Columns(); sv.registerobserver(rgbcolor); sv.registerobserver(columnheights); }... Innentől, az sv változások esetén értesíti a megfigyelőit. Az alany és a megfigyelők között laza kapcsolat van. Az alany tud a megfigyelőkről, de egyéb információt nem tud, nincs is szükség rá, hogy tudjon. További előnye, hogy könnyen adható hozzá új megfigyelő, a meglévő kód módosítása nélkül. 3.3Chain of Responsibility (Felelősség lánc) Feladat: Készítsünk egy dialógus alapú grafikus alkalmazást, melyben három gomb (Betöltés, Mentés, Kilépés) található, és két check boksz (automatikus, manuális)! Attól függően, hogy melyik elem van kiválasztva, jelenítsünk meg help információt! A kilépés gomb kivételével minden elemhez legyen segítség információ, a dialógus ablakhoz is! Alakítsuk ki a következő felelősség láncot: Betöltés -> Mentés -> Összes gomb -> Alkalmazás Az általános Handle osztályba kell egy SetNextHandle metódus! Kép az elkészített alkalmazásról: 29

30 A feladat osztálydiagramja: HelpHandler: A help rendszer kéréseinek kezeléséhez definiál egy interészt. Implementálja a következő egyedhez a kapcsolatot. SaveButtonHandler, LoadButtonHandler, ButtonHelpHandler, FormHelphandler: Lekezeli a megfelelő kéréseket. Hozzáfér az utána következő help handlerhez. Ha tudja kezelni a kérést, akkor kezeli, egyébként továbbítja a következő help handlernek. Client: Létrehozza a láncot, kéréseket indít a lánc elején lévő help handlernek. Az elkészített alkalmazásban a felelősség lánc a következőképpen épül fel:... private HelpHandler starthelphandler; 30

31 public HelpSystem() { InitializeComponent(); SaveButtonHelpHandler SaveButtonHelpHandler(); LoadButtonHelpHandler LoadButtonHelpHandler(); ButtonHelpHandler bhh FormHelpHandler fhh = sbhh = new lbhh = new = new ButtonHelpHandler(); new FormHelpHandler(); sbhh.setnexthandler(lbhh); lbhh.setnexthandler(bhh); bhh.setnexthandler(fhh); this.starthelphandler = sbhh; }... A lánc kialakítása után help üzenetet a következő metódus állítja be: private void sethelpmessage(object sender) { string name = ((Control)sender).Name; Type type = sender.gettype(); toolstripstatuslabel2.text = this.starthelphandler.handle(name, type); } A minta használatával egyszerűsödik a help információk megjelenítése. Új GUI elem bevezetésével csak egy új osztályt kell elkészíteni, amely a HelpHandlerből származik. A kód többi részét nem kell módosítani. 3.4Mediator (Közvetítő) Közvetítő (Mediátor) minta Feladat szövege: Készítsünk egy dialógus alapú grafikus alkalmazást, melyben o egy városlista lista ablak található a lehetséges elemekkel (városok nevei) 31

32 o beviteli mező, o másik kiválasztott városok lista a felvett városok neveivel, o töröl gomb A következőképpen működjön: o Ha a városlista egy eleme ki van választva, akkor másoljuk be a szöveg tartalmát a beviteli mezőbe, engedélyezzük a hozzáad gombot o Az átmásolt szöveget a felhasználó át tudja írni. o Ha a hozzáad gombot megnyomtuk, akkor a szöveges mező tartalmát hozzáadja a kiválasztott városok listájába a töröl gomb engedélyezett lesz o Ha a töröl gombot megnyomtuk, akkor a kiválasztott városok lista törlődik, a töröl gomb tiltódik, a hozzáad gomb tiltódik Képek az elkészített alkalmazásról: 32

33 A feladat osztálydiagramja: 33

34 Az osztálydiagram részei CityChooserMediator: A közvetítő felület a kollégák között Mediator: Konkrét közvetítő. Ismeri a feladatban szereplő objektumokat. A Copy metódussal a SelectedCity Name property-jét állítja be. Az Add hozzáad egy nevet a városok listájához. A Choose hozzáad egy nevet a kiválasztott városok listájához. CityChooserColleague: Felület a kollégáknak. Ismeri a CityChooserMediatort. City: Konkrét kolléga osztály. Városlistát tartalmaz. A Choose metódussal jelzi a mediátornak, hogy kiválasztottuk egy elemét. Az Add metódussal hozzáad egy nevet a CityList propertyjéhez. A Clear metódus törli az elemeit. SelectedCity: Konkrét kolléga osztály. Egy nevet tartalmaz. A Choose metódussal jelzi a mediátornak, hogy property-jét hozzá kell adni a kiválsztott városokhoz. A minta használata: Példányosítjuk az osztályokat a következő módon: SelectedCity selected; City cities; City choosencities; Mediator m; 34

35 m = new Mediator(); cities = new City(m); choosencities = new City(m); selected = new SelectedCity(m); m.cities = cities; m.choosencities = choosencities; m.selected = selected; A kollégák ismerik a mediátort, de egymást nem és a mediátor is ismeri a kollégákat. Ez a minta laza kapcsolatot eredményez az objektumok között. Központosított vezérlést eredményez. 3.5State (Állapot) Feladat: Média lejátszó modellezése specifikáció alapján az állapot minta felhasználásával. Műveletek: pillanat állj, stop, előre lejátszás, hátrafele lejátszás, sebesség felező, sebesség kétszerező, elejére teker, végére teker. Alapból a film a 0 pozíción áll, és nem megy a lejátszás (stop állapot). Szimuláljunk egy 30 frame/sec-es videót, ami 5 perces, progressbar segítségével! Írjuk ki az alkalmazás állapotát! Írjuk ki az aktuális frame értékét, frissítsük a progressbart 100 ms-onként! 1. ábra A Média lejátszó Frissítsük a vezérlők értékét az állapottól függően! Működés Állapo t\funk ció Pause Forewar d Backward Pillan at állj Nem érhető el, nem csinál semmit Megállítja a lejátszást, állapotvál tás Megállítja a lejátszást, állapotváltá s 35 Begin Nem érhető el, nem csinál semmit End Nem érhető el, nem csinál semmit

36 Stop Nem érhető el, nem csinál semmit Megállítja a lejátszást, és a 0 pozícióra állít, állapotvál tás Megállítja a lejátszást, és a 0 pozícióra állít, állapotváltá s Nem érhető el, nem csinál semmit Nem érhető el, nem csinál semmit Előre játszá s Elkezd lejátszani előre 1x sebességg el, állapotvált ás Ha más sebesség gel játszik, akkor visszaállít 1x előre játszásra Nem érhető el, nem csinál semmit Elkezd lejátszani előre 1x sebességgel, állapotváltás Nem érhető el, nem csinál semmit Hátra játszá s Elkezd lejátszani hátrafele 1x sebességg el, állapotvált ás Nem érhető el, nem csinál semmit Ha más sebességge l játszik, akkor visszaállít 1x hátra játszásra Nem érhető el, nem csinál semmit Elkezd lejátszani hátrafele 1x sebességgel, állapotváltás Sebes ség felező Nem érhető el, nem csinál semmit A sebesség et felezi A sebességet felezi Nem érhető el, nem csinál semmit Nem érhető el, nem csinál semmit Sebes ség kétsz erező Nem érhető el, nem csinál semmit A sebesség et kétszerez i A sebességet kétszerezi Nem érhető el, nem csinál semmit Nem érhető el, nem csinál semmit Elejér e ugrik Pozíció a végére Pozíció az elejére, és játszik tovább Pozíció az elejére, és stop állapot Nem érhető el, nem csinál semmit Pozíció az elejére, és nem játszik tovább Végér e ugrik Pozíció az elejére Pozíció a végére, és stop állapot Pozíció a végére, és játszik tovább Pozíció a végére, és nem játszik tovább Nem érhető el, nem csinál semmit Kép az elkészített alkalmazásról: 36

37 A feladat osztálydiagramja: Részei: MediaPlayer: A állapot környezet osztály. PlayingState: Az MediaPlayer állapot kontextus állapotainak felülete Begin, End, Stop, Pause, PlayingForward, PlayingBackward: Kokrét állapotai a MediaPlayer kontextusnak. A MediaPlayer osztály példányosítása (a Video konstruktorának megadjuk a frame-ek számát és a rátát):... MediaPlayer mp;... 37

38 Video video = new Video(9000, 30); //five minutes this.mp = new MediaPlayer(video); this.mp.state = new Stop();... A minta használatával egyszerűbb, érthetőbb kódot kapunk. Könnyebb modellezni az összetett állapotokat. Ebben a feladatban volt 8 féle funkció és 6 féle állapot ami a minta használata nélkül ami egy 48 case-t tartalmazó switch lenne a minta nélkül. Könnyebb új állapotot felvenni mint egy hosszú switch case szerkezetet átlátni. 3.6Strategy (Stratégia) Feladat: Bővítsük az előző feladatot több média típus lejátszására Mp3 Wmv Avi Az aktuális média típust is kiírattam az alkalmazásban A futást ábrázoló képen lévő lejátszó így indult A feladat kibővített osztálydiagramja: 38

39 A diagram részei Media: A wmv, avi és mp3 algoritmuscsaládokhoz ad egy felületet. WMV, AVI, MP3: Konkrét algoritmuscsaládok. Az adott formátumnak megfelelően implementálják a médiát. MediaPlayer: a stratégia környezet osztály a wmv, avi és mp3 algoritmuscsaládokhoz. Az alkalmazásban egy wmv lejátszása a következőképpen történik:... MediaPlayer mp;... Media media = new Wmv(9000, 30); this.mp = new MediaPlayer(media); this.mp.state = new Stop();... A stratégia programtervezési minta használata egyszerűbb, érthetőbb kódot eredményez, mintha ugyanezt a működés a minta használata nélkül érnénk el, mivel a minta elrejti az algoritmus specifikus adatokat. Új algoritmus családdal bővíthetjük a mintát anélkül, hogy bármelyik osztályt módosítani kellene. Az aktuális algoritmus család futásidőben módosítható. 39

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

eseményvezérelt megoldások Vizuális programozás 5. előadás

eseményvezérelt megoldások Vizuális programozás 5. előadás Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket

Részletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

C# osztályok. Krizsán Zoltán

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk

Részletesebben

Szervlet-JSP együttműködés

Szervlet-JSP együttműködés Java programozási nyelv 2007-2008/ősz 10. óra Szervlet-JSP együttműködés Kérés továbbítás technikái legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Szervlet-JSP együttműködés Témakörök Osztálykönyvtár

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok

Részletesebben

Entity Framework alapú adatbáziselérés

Entity Framework alapú adatbáziselérés Entity Framework alapú adatbáziselérés Dr. Johanyák Zsolt Csaba http://johanyak.hu A gyakorlat célja Model-first megközelítéssel Entity-Framework modell létrehozása, majd ebből adatbázis generálása LocalDB-ben.

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Access adatbázis elérése OLE DB-n keresztül

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

A Microsoft Visual Studio 2005 fejlesztőkörnyezet Vizuális és eseményvezérelt programozás BMF NIK A Microsoft Visual Studio 2005 fejlesztőkörnyezet Az integrált fejlesztőkörnyezet (IDE) alapelemei Projektek és megoldások Új projekt indítása, projektek

Részletesebben

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán Publication date 2011 A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046

Részletesebben

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában? Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A

Részletesebben

Grafikus felületek készítése 1.

Grafikus felületek készítése 1. Grafikus felületek készítése 1. SWT Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Grafikus felületek fejlesztése Java grafikus toolkitek o AWT Na>v widgetek

Részletesebben

Bosch Video Client. Kezelési útmutató

Bosch Video Client. Kezelési útmutató Bosch Video Client hu Kezelési útmutató Bosch Video Client Tartalomjegyzék hu 3 Tartalomjegyzék 1 Bevezetés 6 1.1 Rendszerkövetelmények 6 1.2 Szoftvertelepítés 6 1.3 Az alkalmazásban használt jelölések

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string Resource Objects Adatforrás elemeket hivatkozás (referencia, mutató) segítségével használhatunk, ezek karakterláncok (stringek), képek, azonosítók vagy akár fájlok is lehetnek A mappastruktúra egységesen

Részletesebben

Osztály és objektum fogalma

Osztály és objektum fogalma Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat Képnézegető alkalmazás WPF alapú felülettel Készítsen egy WPF képnézegető alkalmazást, ami a mellékelt ábrának megfelelően a bal oldali oszlopban (Grid) egy könyvtárban található

Részletesebben

Objektumorientált programozás C# nyelven III.

Objektumorientált programozás C# nyelven III. Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

AIX 6.1. IBM Systems Director Console for AIX

AIX 6.1. IBM Systems Director Console for AIX AIX 6.1 IBM Systems Director Console for AIX AIX 6.1 IBM Systems Director Console for AIX Megjegyzés Az információk és a tárgyalt termék használatba vétele előtt olvassa el a Nyilatkozatok oldalszám:

Részletesebben

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. AWT Grafika Bevezető Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. Fogalmak: geometriai alakzatok, felületek,

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

54 481 01 1000 00 00 CAD-CAM

54 481 01 1000 00 00 CAD-CAM Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

ScopeImage 9.0. Kamera és képfeldolgozó szoftver. Felhasználói kézikönyv

ScopeImage 9.0. Kamera és képfeldolgozó szoftver. Felhasználói kézikönyv ScopeImage 9.0 Kamera és képfeldolgozó szoftver Felhasználói kézikönyv Tisztelt felhasználó! Engedje meg, hogy először is gratuláljunk az általunk gyártott termék megvásárlásához. A helytelen használat

Részletesebben

Adatbázis rendszerek I

Adatbázis rendszerek I Adatbázis rendszerek I Szemantikai adatmodellek ek ME- GEIAL Dr. Kovács László Modellezés szerepe Problémakör modellezése adatbázis struktúrával Dolgozó kód név beosztás Feladat kód dolg termék Termék

Részletesebben

MUNKAANYAG. Angyal Krisztián. Szövegszerkesztés. A követelménymodul megnevezése: Korszerű munkaszervezés

MUNKAANYAG. Angyal Krisztián. Szövegszerkesztés. A követelménymodul megnevezése: Korszerű munkaszervezés Angyal Krisztián Szövegszerkesztés A követelménymodul megnevezése: Korszerű munkaszervezés A követelménymodul száma: 1180-06 A tartalomelem azonosító száma és célcsoportja: SzT-004-55 SZÖVEGSZERKESZTÉS

Részletesebben

Java felhasználói felület

Java felhasználói felület Java felhasználói felület Alapfogalmak Komponens alapok Elek Tibor GUI-val kapcsolatos fogalmak Eseményvezérelt program Program futás: - induló állapot (induló UI) megjelenítése, - eseménykezelő végtelen

Részletesebben

C#, OOP. Osztályok tervezése C#-ban

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

BEACon TM. Verzió 2.0

BEACon TM. Verzió 2.0 BEACon TM Verzió 2.0 A Suprema Inc., a BioEntry TM és a BEACon TM a Suprema Inc. regisztrált márkanevei. Minden jog fenntartva. Ennek a munkának semmilyen részét, ami ezek a márkanevek alatt fut nem lehet

Részletesebben

JVJ DVD-8808 Könyöklő DVD lejátszó Használati utasítás

JVJ DVD-8808 Könyöklő DVD lejátszó Használati utasítás JVJ DVD-8808 Könyöklő DVD lejátszó Használati utasítás Lejátszható formátumok: MP4/MP3/DVD/SVCD/VCD/DVCD/CD/WMA/JPEG Tartalomjegyzék A. Figyelmeztetések...2 B. Használat előtt...2 Kiegészítők...2 C. A

Részletesebben

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások

Részletesebben

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát

Részletesebben

SATEL. CA-64 RIASZTÓKÖZPONT (1.04.02-es szoftver verzió) Telepítési útmutató

SATEL. CA-64 RIASZTÓKÖZPONT (1.04.02-es szoftver verzió) Telepítési útmutató SATEL CA-64 RIASZTÓKÖZPONT (1.04.02-es szoftver verzió) Telepítési útmutató SATEL CA-64 Telepítési útmutató 2 TARTALOMJEGYZÉK A TERMÉK BEMUTATÁSA...3 A RIASZTÓKÖZPONT ÁLTALÁNOS TULAJDONSÁGAI...3 A RENDSZER

Részletesebben

Széchenyi István Egyetem www.sze.hu/~herno

Széchenyi István Egyetem www.sze.hu/~herno Oldal: 1/6 A feladat során megismerkedünk a C# és a LabVIEW összekapcsolásának egy lehetőségével, pontosabban nagyon egyszerű C#- ban írt kódból fordítunk DLL-t, amit meghívunk LabVIEW-ból. Az eljárás

Részletesebben

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek

Részletesebben

Intellio Video System 2. Csatlakozási útmutató a demószerverhez

Intellio Video System 2. Csatlakozási útmutató a demószerverhez Intellio Video System 2 Csatlakozási útmutató a demószerverhez Az Intellio Video System Client 2 telepítése Az Intellio Video System Client 2 kliens telepítését az IntellioClient2Setup.exe fájl elindításával

Részletesebben

Alap számológép alkalmazás

Alap számológép alkalmazás Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1 ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...

Részletesebben

Bevezetés a programozásba 2

Bevezetés a programozásba 2 Bevezetés a programozásba 2 7. Előadás: STL konténerek, sablonok http://digitus.itk.ppke.hu/~flugi/ Vector int int main() { vector v(10); int int sum=0; for for (int i=0;i

Részletesebben

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 0802 ÉRETTSÉGI VIZSGA 2008. október 20. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM

Részletesebben

117. AA Megoldó Alfréd AA 117.

117. AA Megoldó Alfréd AA 117. Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Intézményi interface technikai dokumentáció

Intézményi interface technikai dokumentáció AVIR Intézményi interface technikai dokumentáció 1. Intézményi interface technikai dokumentáció verzió:1.2 (2011-09-30) Definíciók AVIR Adattár alapú Vezető Információs Rendszer Központi Adattárház Központi

Részletesebben

FELÜLET...13 PROJEKTTERV...14

FELÜLET...13 PROJEKTTERV...14 1. FELADAT...3 1.1. FELADATKITŰZÉS:...3 1.2. PONTOSÍTÁS...3 1.2.1. Térkép:...3 1.2.2. Alkalmazott mesterséges intelligencia algoritmusok...3 1.3. ALRENDSZERDIAGRAM...3 2. OSZTÁLYOK...4 2.1. GUI ALRENDSZER(GYURI)...4

Részletesebben

Előzmények 2011.10.23.

Előzmények 2011.10.23. Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.

Részletesebben

A táblaszámítógép bemutatása

A táblaszámítógép bemutatása A táblaszámítógép bemutatása Dokumentum cikkszáma: 419466-211 2007. január Ez az útmutató a számítógép hardveres funkcióit ismerteti. Tartalomjegyzék 1 ek A fő kezelőfelület részegységei....................

Részletesebben

Objektum Orientált Szoftverfejlesztés (jegyzet)

Objektum Orientált Szoftverfejlesztés (jegyzet) Objektum Orientált Szoftverfejlesztés (jegyzet) 1. Kialakulás Kísérletek a szoftverkrízisből való kilábalásra: 1.1 Strukturált programozás Ötlet (E. W. Dijkstra): 1. Elkészítendő programot elgondolhatjuk

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

libgdx alapok, első alkalmazás

libgdx alapok, első alkalmazás A libgdx letöltésének, telepítési lépéseinek bemutatása, projekt létrehozása, első libgdx alkalmazás elkészítése képernyőképekkel, magyarázatokkal. libgdx alapok, első alkalmazás Android játékfejlesztés

Részletesebben

Book Template Title. Author Last Name, Author First Name

Book Template Title. Author Last Name, Author First Name Book Template Title Author Last Name, Author First Name Book Template Title Author Last Name, Author First Name I. rész - Szoftver technológia 1. fejezet - Esettanulmány Bevezetés Az alkalmazás fejlesztésére

Részletesebben

Powershell 1. gyakorlat

Powershell 1. gyakorlat Ahhoz, hogy kipróbálhassátok az előre elkészített anyagokat, be kell állítani a Set-ExecutionPolicy ExecutionPolicy RemoteSigned A ps1 kiterjesztésű fájlok a.\névvel indíthatóak 1. Mit hallottak előadáson

Részletesebben

Java programozási nyelv 8. rész Grafikus felhasználói felület

Java programozási nyelv 8. rész Grafikus felhasználói felület Java programozási nyelv 8. rész Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17

Részletesebben

Sorompó kezelés mérlegműszerrel

Sorompó kezelés mérlegműszerrel METRISoft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:

Részletesebben

Mai számítógép perifériák. Számítógépes alapismeretek 1. beadandó. Lővei Péter (LOPSAAI.ELTE) 2010.

Mai számítógép perifériák. Számítógépes alapismeretek 1. beadandó. Lővei Péter (LOPSAAI.ELTE) 2010. Mai számítógép perifériák Számítógépes alapismeretek 1. beadandó Lővei Péter (LOPSAAI.ELTE) 2010. Tartalom Bemeneti eszközök...3 Egér...3 Billentyűzet...3 Scanner...3 Digitális fényképezőgép...4 Ujjlenyomat

Részletesebben

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek I. fejezet Hello Világ! Programozás tankönyv II. Fejezet Helló Világ! avagy a Miért?-ek elkezdődnek 1 Programozás tankönyv I. fejezet Majd minden programozó ezzel a kedves kis programmal kezdi a programozás-tanulást:

Részletesebben

Egy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül.

Egy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül. Eötvös Lóránt Tudományegyetem Informatikai kar Egy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül. szerző: Nemes András Programtervező Informatikus nappali tagozat. témavezető:

Részletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

Szkeleton tervezése. 100 Generalis faliora. Csapattagok: Konzulens: Szabó András. 2005. március 21.

Szkeleton tervezése. 100 Generalis faliora. Csapattagok: Konzulens: Szabó András. 2005. március 21. Szkeleton tervezése 100 Generalis faliora Konzulens: Szabó András Csapattagok: Kenéz Tamás TLSXNP arachnus@tvn.hu Kiss Gergely KNJU43 6er6e1y@gmail.com Papp Gergely L584UF pg554@hszk.bme.hu Rostás Gábor

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

RIA Rich Internet Application

RIA Rich Internet Application Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal

Részletesebben

Szövegszerkesztő programok: Jegyzettömb, WordPad, Microsoft Word

Szövegszerkesztő programok: Jegyzettömb, WordPad, Microsoft Word Szövegszerkesztő programok: Jegyzettömb, WordPad, Microsoft Word A szövegszerkesztők közül az elkészítendő szöveg jellegétől függően választunk programot, és nem feltétlenül azt, amelyiket alapértelmezésben

Részletesebben

Az anyagdefiníciók szerepe és használata az Architectural Desktop programban

Az anyagdefiníciók szerepe és használata az Architectural Desktop programban Az anyagdefiníciók szerepe és használata az Architectural Desktop programban Az Architectural Desktop program 2004-es változatáig kellett várni arra, hogy az AutoCAD alapú építész programban is megjelenjenek

Részletesebben

SZET GYAK1: Követelmények ellenőrzése

SZET GYAK1: Követelmények ellenőrzése SZET GYAK1: Követelmények ellenőrzése A gyakorlaton a követelmények nyilvántartásával és ellenőrzésével kapcsolatos feladatok közül vizsgálunk meg néhányat. Követelményspecifikáció ellenőrzése átvizsgálással

Részletesebben

STL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók

STL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók STL Elsődleges komponensek: Tárolók Algoritmusok Bejárók Másodlagos komponensek: Függvény objektumok Adapterek Allokátorok (helyfoglalók) Tulajdonságok Tárolók: Vektor (vector) Lista (list) Halmaz (set)

Részletesebben

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Vizuális modellezés Programozás: Modellezés és tervezés Implemetálás (Kódolás) Dokumentálás és Tesztelés

Részletesebben

4. Öröklődés. Programozás II

4. Öröklődés. Programozás II 4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()

Részletesebben

A SZOFTVERTECHNOLÓGIA ALAPJAI

A SZOFTVERTECHNOLÓGIA ALAPJAI A SZOFTVERTECHNOLÓGIA ALAPJAI Objektumorientált tervezés 8.előadás PPKE-ITK Tartalom 8.1 Objektumok és objektumosztályok 8.2 Objektumorientált tervezési folyamat 8.2.1 Rendszerkörnyezet, használati esetek

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList. Áttekintés Alapesetben az ASP.NET-ben az esemény bekövetkezésekor az oldalunk teljesen újratöltődik és nem tárolja el a kliens állapotát automatikusan. Ezért kell foglalkoznunk a Szerver vagy Kliens oldali

Részletesebben

Welcome3 Bele pteto rendszer

Welcome3 Bele pteto rendszer Welcome3 Bele pteto rendszer Programozói kézikönyv beks Kommunikációs Technika Kft 4024, Debrecen, Rákóczi utca 21 www.beks.hu 2013. március 7. Tartalomjegyzék Rendszer telepítési folyamatábra... 6 Welcome3

Részletesebben

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA Iványi Tibor, ivanyit@tigris.klte.hu Csukás Levente, csukasl@fox.klte.hu Kossuth Lajos Tudományegyetem Informatikai és Számító Központ Abstract The well

Részletesebben

Biztonság java web alkalmazásokban

Biztonság java web alkalmazásokban Biztonság java web alkalmazásokban Webalkalmazások fejlesztése tananyag Krizsán Zoltán 1 [2012. május 9.] 1 Általános Informatikai Tanszék Miskolci Egyetem 2012. május 9. Krizsán Zoltán [2012. május 9.]

Részletesebben

1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5

1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5 EntryProx Beléptető Rendszer FELHASZNÁLÓI KÉZIKÖNYV v.1.0.7. EntryProx Beléptető Rendszer TARTALOM 1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5 3. A RENDSZER ÜZEMBE HELYEZÉSE... 7 3.1. Az

Részletesebben

Dell Latitude E5440 Kezelési kézikönyv

Dell Latitude E5440 Kezelési kézikönyv Dell Latitude E5440 Kezelési kézikönyv Szabályozó modell: P44G Szabályozó típus: P44G001 Notes, Cautions, and Warnings MEGJEGYZÉS: A NOTE indicates important information that helps you make better use

Részletesebben

Kétdimenziós rajzolás WPF-ben

Kétdimenziós rajzolás WPF-ben Kétdimenziós rajzolás WPF-ben A grafikus megjelenítés módjai WPF-ben: System.Windows.Shapes névtér osztályaival magas szintű, rengeteg metódus, tulajdonságok, eseménykezelés, input kezelés (egér, billentyűzet)

Részletesebben

Rövidített felhasználói kézikönyv. H.264 ( 4/8/16 csatornás) Digitális video rögzítő

Rövidített felhasználói kézikönyv. H.264 ( 4/8/16 csatornás) Digitális video rögzítő Rövidített felhasználói kézikönyv H.264 ( 4/8/16 csatornás) Digitális video rögzítő EVD-04/100A1HCE EVD-08/100A1HCE EVD-16/100A1HCE EVD-04/100A1HCB EVD-08/100A1HCB EVD-16/100A1HCB Használja az ajánlott

Részletesebben

!!" KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7

!! KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7 !!" KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7 #$%#&'( 1. Bevezet... 4 1.1. Feladatkiírás:... 4 1.2. Specifikáció... 4 2. A kidolgozás munkafázisai, szakaszai... 6 3. Fejlesztési irányelvek...

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.

Részletesebben

Budapest, 2009. 1. oldal

Budapest, 2009. 1. oldal e-m@il:vibastile@monornet.hu, web:www.vibastile.hu Budapest, 2009 1. oldal e-m@il:vibastile@monornet.hu, web:www.vibastile.hu TARTALOM 1. A PROGRAM INDÍTÁSA... 3 2. A PROGRAM FUNKCIÓI... 3 3. FIZETÉSI

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84

Részletesebben

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22 Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML

Részletesebben

Programozás 1. 2.gyakorlat

Programozás 1. 2.gyakorlat Programozás 1. 2.gyakorlat Ismétlés Objektum: Egy a való világból vett elem (ami lehet elvonatkoztatott is) számítógépes ábrázolása. Pl: Kurzus, Személy stb Minden Objektum rendelkezik: Állapottal Viselkedéssel

Részletesebben

Dell Latitude E5540 Kezelési kézikönyv

Dell Latitude E5540 Kezelési kézikönyv Dell Latitude E5540 Kezelési kézikönyv Szabályozó modell: P44G Szabályozó típus: P44G001 Megjegyzések, figyelmeztetések és Vigyázat jelzések MEGJEGYZÉS: A MEGJEGYZÉSEK fontos tudnivalókat tartalmaznak,

Részletesebben

Kalapácsvetés 2016 szöveges

Kalapácsvetés 2016 szöveges Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után

Részletesebben

CellCom. Szoftver leírás

CellCom. Szoftver leírás CellCom Szoftver leírás A vezérlő szoftver bemutatása 2 www.lenyo.hu Tartalom LCC vezérlőszoftver 5 Rendszerkövetelmények 5 Telepítés 5 Indítás 7 Eltávolítás, újratelepítés és javítás 8 Kulcskezelés 8

Részletesebben

Kezelési és szerelési útmutató

Kezelési és szerelési útmutató Kezelési és szerelési útmutató A Villa rendszer C3S alap, C3K kódzáras, C3C proxy Alapvető funkció 1. A színes vagy fekete-fehér CCD kamera 2. infra éjjellátó funkció 3. Csengetés beltéri monitoron 4.

Részletesebben

Az üzembe helyezéstől. a nyomtatásig. Z45 Color Jetprinter. Az üzembe helyezéstől a nyomtatásig. 2002. január. www.lexmark.com

Az üzembe helyezéstől. a nyomtatásig. Z45 Color Jetprinter. Az üzembe helyezéstől a nyomtatásig. 2002. január. www.lexmark.com Az üzembe helyezéstől a nyomtatásig Z45 Color Jetprinter Az üzembe helyezéstől a nyomtatásig 2002. január www.lexmark.com Biztonsági információk A készülékhez csak a mellékelt tápegységet használja vagy

Részletesebben

Töltőfunkció Kezelési Utasítás

Töltőfunkció Kezelési Utasítás METRISoft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:

Részletesebben

Modellalkotás UML-ben

Modellalkotás UML-ben Modellalkotás UML-ben Modellalkotás UML-ben A Unified Modeling Language (UML) egy grafikus modellező nyelv, amely lehetőséget nyújt egy megoldandó probléma specifikációjának leírására absztrakt szinten,

Részletesebben

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hello World Servlet Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket

Részletesebben