Komponens alapú szoftverfejlesztés 9. előadás. Grafikus felületű alkalmazások architektúrái. Giachetta Roberto
|
|
- Klaudia Fodor
- 8 évvel ezelőtt
- Látták:
Átírás
1 Eötvös Loránd Tudományegyetem Informatikai Kar Komponens alapú szoftverfejlesztés 9. előadás Grafikus felületű alkalmazások architektúrái Giachetta Roberto
2 A grafikus felületű alkalmazás A grafikus felületű (graphical user interface) alkalmazások jelentős részét képezik a mai szoftvereknek közvetlenül a felhasználóval állnak kapcsolatban, aki számára információkat jelenítenek meg, és feldolgozzák a felhasználói bemenetet, amihez eseményvezérlést használnak általánosan megfogalmazott grafikus elemekből (vezérlőkből) alkalmazás specifikus specifikus űrlapokat állítanak össze Grafikus felületű alkalmazások esetén a leggyakoribb felépítés a háromrétegű (3-tier) architektúra, amelyben elkülönül a nézet, a modell és a perzisztencia a nézet tartalmazza az adatok megjelenítésének módját, valamint a felhasználói interakció feldolgozását ELTE IK, Komponens alapú szoftverfejlesztés 9:2
3 Adatok állapotai A háromrétegű alkalmazásokban az adatok három állapotban jelennek meg megjelenített állapot (display state): a felhasználói felületen megjelenő tartalomként, amelyet a felhasználó módosíthat munkafolyamat állapot (session state): a memóriában, amely mindaddig elérhető, amíg a program és felhasználója aktív rekord állapot (record state): az adat hosszú távon megőrzött állapota az adattárban (perzisztenciában) display state session state record state ELTE IK, Komponens alapú szoftverfejlesztés 9:3
4 Adatok állapotai Az állapotok külön általában reprezentációt igényelnek, ezért az állapotok között transzformációkat kell végeznünk pl. objektumok közötti leképezés (object-object mapping), objektum-relációs leképezés (object-relational mapping) Az egyes állapotok kezelése történhet szinkron módon: a két állapot mindig megegyezik a megjelenített és munkafolyamat állapotnak célszerű megegyeznie, mivel a munkafolyamat állapoton hajtjuk végre a tevékenységeket aszinkron módon: a két állapot általában különbözik, de adott ponton szinkronizálható ELTE IK, Komponens alapú szoftverfejlesztés 9:4
5 Háromrétegű architektúra specializációja A háromrétegű architektúrában a felhasználóval a nézet réteg tartja a kapcsolatot, amely ezért tartalmazza a felületi logikát (UI logic) a felületi logika feladatai: felhasználói interakció fogadása, feldolgozása, és továbbítása az üzleti logika számára az adatok megjelenítése (a megjelentéshez szükséges konverzióval) a megfelelő nézet előállítása, új nézetek létrehozása a felületi logika és maga a megjelenítés két jól elhatárolható feladatkör, amelyet célszerű szeparálni a megjelenítés elsősorban nem programozói, hanem tervezői feladatkör ELTE IK, Komponens alapú szoftverfejlesztés 9:5
6 MVP architektúra A Model-View-Presenter (MVP) architektúra lehetőséget ad a felületi logika leválasztására egy prezentáció (presenter) számára a nézet felel az adatok megjelenítéséért (nézetállapot előállításáért), valamint a felhasználó interakció fogadásáért, és továbbításáért a prezentáció számára a prezentáció tartalmazza a felhasználói interakció feldolgozásáért felelős tevékenységeket, úgymint továbbítja a kéréseket az üzleti logika számára megadja az interakcióra válaszoló nézetet a prezentáció ismeri a nézetet, a nézet azonban nem ismeri a prezentációt ELTE IK, Komponens alapú szoftverfejlesztés 9:6
7 MVP architektúra MVP felhasználó nézet jelzés frissítés végrehajtás prezentáció modell ELTE IK, Komponens alapú szoftverfejlesztés 9:7
8 MVP architektúra (supervising controller) Az MVP architektúra két esete különböztethető meg: Supervising contoller (SC): a nézet ismeri a modellt (le tudja kérni a munkafolyamat állapotot), és el tud végezni alapvető tevékenységeket View + UpdateViewState() :void - Convert(SessionState) :DisplayState «event» + ComplexEvent() «event handler» - HandleViewEvent() Presenter «event handler» - HandleComplexEvent() 1..* 1..* Model ELTE IK, Komponens alapú szoftverfejlesztés 9:8
9 MVP architektúra (supervising controller) user View Presenter Model Click() ViewEvent() UpdateViewState() HandleEvent() GetState() :SessionState Convert(SessionState) : DisplayState ELTE IK, Komponens alapú szoftverfejlesztés 9:9
10 MVP architektúra (passive view) Passive View (PV): a nézet nem ismeri a modellt, így a prezentáció adja át a nézet számára a munkafolyamat állapotot szinte minden tevékenységet a prezentáció végez a nézet elsősorban grafikus vezérlők halmazának tekinthető View + UpdateViewState(SessionState) - Convert(SessionState) :DisplayState «event» + ViewEvent() Presenter - HandleViewEvent() 1..* Model ELTE IK, Komponens alapú szoftverfejlesztés 9:10
11 MVP architektúra (passive view) user View Presenter Model Click() ViewEvent() HandleEvent() GetState() :SessionState alt [requires new view] View UpdateViewState(SessionState) Convert(SessionState) : DisplayState UpdateViewState(SessionState) Convert(SessionState) : DisplayState ELTE IK, Komponens alapú szoftverfejlesztés 9:11
12 MVP architektúra Előnyei: a felületi logika leválasztható a nézetről, így a nézet ténylegesen nem lép interakcióba az üzleti logikával a prezentáció a nézettől függetlenül tudja biztosítani új nézetek létrehozását és a munkafolyamat állapot manipulálását a nézet független a prezentáció és a modell felületétől, így tetszőlegesen változtatható a prezentáció és a nézet egymástól függetlenül tesztelhetőek Hátrányai: a nézet továbbra is tartalmaz kódot (eseménykezelők formájában) a megjelenített állapot frissítése manuálisan történik ELTE IK, Komponens alapú szoftverfejlesztés 9:12
13 Példa Feladat: Készítsünk egy táblajáték programot MVP SC architektúrában, amelyben két játékos küzdhet egymás ellen. a korábbi nézet tevékenységeit felbontjuk a nézet (IBoardGameView) és a prezentáció (BoardGamePresenter) között a nézet interfésze egységes eseményeket definiál a játék tevékenységeire (GameStarted, GameStepped, ), valamint megadja a frissítés lehetőségét (UpdateViewState) a nézet megvalósítása (DrawingForm) felel a tényleges események átalakításáért játékbeli eseményekké a prezentáció kezeli a tevekénységeket, valamint a modell összetett eseményeit (GameWon, GameOver) ELTE IK, Komponens alapú szoftverfejlesztés 9:13
14 Példa Tervezés: «interface» View::IBoardGameView + UpdateViewState() :void «event» + GameStarted() :EventHandler<EventArgs> + GameStepped() :EventHandler<BoardEventArgs> + SaveGame() :EventHandler + LoadGame() :EventHandler «property» + Model() :BoardGameModel -view Presenter::BoardGamePresenter - model :BoardGameModel - view :IBoardGameView - savefiledialog :SaveFileDialog - openfiledialog :OpenFileDialog + BoardGamePresenter(BoardGameModel) - Model_GameWon(object, GameWonEventArgs) :void - Model_GameOver(object, EventArgs) :void - View_GameStarted(object, EventArgs) :void - View_GameStepped(object, BoardEventArgs) :void - View_LoadGame(object, EventArgs) :void - View_SaveGame(object, EventArgs) :void «property» + View() :IBoardGameView - model :BoardGameModel View::DrawingForm Form + DrawingForm() + UpdateViewState() :void - Panel_Paint(object, PaintEventArgs) :void - Panel_MouseDown(object, MouseEventArgs) :void - TicTacToeForm_Resize(object, EventArgs) :void - TicTacToeForm_KeyDown(object, KeyEventArgs) :void - Model_FieldChanged(object, FieldChangedEventArgs) :void + OnGameStarted() :void + OnGameStepped(Int32, Int32) :void + OnSaveGame() :void + OnLoadGame() :void «event» + GameStarted() :EventHandler<EventArgs> + GameStepped() :EventHandler<BoardEventArgs> + SaveGame() :EventHandler + LoadGame() :EventHandler «property» + Model() :BoardGameModel ELTE IK, Komponens alapú szoftverfejlesztés 9:14
15 Példa Feladat: Készítsünk egy táblajáték programot MVP PV architektúrában, amelyben két játékos küzdhet egymás ellen. a nézet (IBoardGameView) nem látja közvetlenül a modellt, így a prezentáció (BoardGamePresenter) kéri le a munkafolyamat állapotát (GetSessionState), és adja át a nézet számára a prezentáció veszi át a megmaradt modellbeli események kezelését a nézettől (Model_FieldChanged) ELTE IK, Komponens alapú szoftverfejlesztés 9:15
16 Példa Tervezés: Presenter::BoardGamePresenter - model :BoardGameModel - view :IBoardGameView - savefiledialog :SaveFileDialog - openfiledialog :OpenFileDialog + BoardGamePresenter(BoardGameModel) - Model_GameWon(object, GameWonEventArgs) :void - Model_GameOver(object, EventArgs) :void - Model_FieldChanged(object, FieldChangedEventArgs) :void - View_GameStarted(object, EventArgs) :void - View_GameStepped(object, BoardEventArgs) :void - View_LoadGame(object, EventArgs) :void - View_SaveGame(object, EventArgs) :void - GetSessionState() :PlayerData[] «property» + View() :IBoardGameView «interface» View::IBoardGameView + UpdateViewState(PlayerData[,]) :void «event» + GameStarted() :EventHandler<EventArgs> + GameStepped() :EventHandler<BoardEventArgs> + SaveGame() :EventHandler + LoadGame() :EventHandler -view View::DrawingForm - sessionstate :PlayerData ([,]) - boardwidth :Int32 - boardheight :Int32 Form + DrawingForm() + UpdateViewState(PlayerData[,]) :void - Panel_Paint(object, PaintEventArgs) :void - Panel_MouseDown(object, MouseEventArgs) :void - TicTacToeForm_Resize(object, EventArgs) :void - TicTacToeForm_KeyDown(object, KeyEventArgs) :void + OnGameStarted() :void + OnGameStepped(Int32, Int32) :void + OnSaveGame() :void + OnLoadGame() :void «event» + GameStarted() :EventHandler<EventArgs> + GameStepped() :EventHandler<BoardEventArgs> + SaveGame() :EventHandler + LoadGame() :EventHandler ELTE IK, Komponens alapú szoftverfejlesztés 9:16
17 MVC architektúra A Model-View-Controller (MVC) architektúra egy külön vezérlést (contoller) biztosít, amely kiszolgálja a felhasználói kéréseket a vezérlő fogadja közvetlenül a kérést a felhasználótól, feldolgozza azt (a modell segítségével), majd előállítja a megfelelő (új) nézetet így a nézet mentesül a kérések fogadásától, átalakításától általában egy vezérlőhöz több nézet is tartozik a nézet a felület (jórészt deklaratív) meghatározása, amely megjeleníti, szükség esetén átalakítja az adatokat elsősorban webes környezetben népszerű, mivel könnyen leválasztható a nézet (HTML) a vezérléstől (URL) ELTE IK, Komponens alapú szoftverfejlesztés 9:17
18 MVC architektúra MVC felhasználó nézet tevékenység frissítés végrehajtás vezérlő modell ELTE IK, Komponens alapú szoftverfejlesztés 9:18
19 MVC architektúra Az MVC architektúra két esete különböztethető meg: lehívás alapú (pull-based): ismeri a modellt, az adatokat a modelltől kéri le betöltés alapú (push-based): a vezérlő adja át a nézetnek a megjelenítendő adatokat (ez a nézet modellje, vagy view model) Előnye: a nézetnek nem kell foglalkoznia az események feldolgozásával, mivel azokat közvetlenül a vezérlő kapja meg Hátránya: a nézet továbbra is felel az adatok megfelelő átalakításáért, tehát tartalmaz valamennyi logikát ELTE IK, Komponens alapú szoftverfejlesztés 9:19
20 MVC architektúra (betöltés alapú) Controller Model user Event() HandleEvent() GetState() :SessionState View UpdateViewState(SessionState) Convert(SessionState) : DisplayState ELTE IK, Komponens alapú szoftverfejlesztés 9:20
21 Példa Feladat: Készítsünk egy táblajáték programot MVC architektúrában, amelyben két játékos küzdhet egymás ellen. a vezérlő (BoardGameController) látja a modellt, illetve létrehozza a nézetet, és kezeli a nézet eseményeit (billentyűzet lenyomás, átméretezés, táblakattintás) a nézet interfészét kibővítjük a táblával kapcsolatos információkkal (BoardWidth, BoardHeight) a táblakattintás (BoardClicked) egy összetett esemény, amelyet a nézetben váltunk ki betöltés alapú megközelítést alkalmazunk, így továbbra is a nézet feladata az állapotfrissítés (UpdateViewState) a kapott nézet modell alapján ELTE IK, Komponens alapú szoftverfejlesztés 9:21
22 Példa Tervezés: Controller::BoardGameController - model :BoardGameModel - view :BoardGameView - savefiledialog :SaveFileDialog - openfiledialog :OpenFileDialog + BoardGameController(BoardGameModel) - Model_GameWon(object, GameWonEventArgs) :void - Model_GameOver(object, EventArgs) :void - Model_FieldChanged(object, FieldChangedEventArgs) :void - View_Shown(object, EventArgs) :void - View_BoardClicked(object, BoardEventArgs) :void - View_KeyDown(object, KeyEventArgs) :void - View_Resize(object, EventArgs) :void - LoadGame() :void - SaveGame() :void - GetSessionState() :PlayerData[] «property» + View() :BoardGameView -view View::BoardGameView + UpdateViewState(PlayerData[,]) :void # OnBoardClicked(Int32, Int32) :void «property» + BoardWidth() :Int32 + BoardHeight() :Int32 Form «event» + BoardClicked() :EventHandler<BoardEventArgs> View::DrawingForm -model Model::BoardGameModel ELTE IK, Komponens alapú szoftverfejlesztés 9:22
23 Adatkötés Az állapotok automatikus szinkronizálását adatkötés (data binding) segítségével érhetjük el, amely két lehetséges módon biztosíthatja a szinkronizációt az érték módosítás hatására átíródhat a másik állapotba módosítás megjelenített állapot módosítás munkafolyamat állapot az érték módosítás hatására jelzést adhat a másik állapot frissítésére megjelenített állapot változásjelzés állapotlekérés munkafolyamat állapot módosítás ELTE IK, Komponens alapú szoftverfejlesztés 9:23
24 Adatkötés Az adatkötésért egy olyan adatkötés objektum (Binding) felel, amelyet a megjelenített állapot tárolója (nézet) és a munkafolyamat állapot tárolója (modell) közé helyezünk az adatkötés ismeri mind a nézetet mind a modellt, ezért lehívhatja az értékeket (GetState), és elvégezheti a módosítást (SetState) elvégezheti az átalakítást (Convert) a munkafolyamat állapot és a nézet állapot között általában minden szinkronizálandó adathoz külön adatkötés tartozik, többszörös előfordulás esetén akár előfordulásonként is tartozhat adatkötés a nézet ismerheti az adatkötést, így közvetlenül kezdeményezheti a módosítást az adatkötésen keresztül ELTE IK, Komponens alapú szoftverfejlesztés 9:24
25 Adatkötés (modell irányába) client Button_Clicked() View Binding Controller SetState(DisplayState) Convert(DisplayState) : SessionState SetState(SessionState) ELTE IK, Komponens alapú szoftverfejlesztés 9:25
26 Adatkötés (nézet irányába) View Binding Contoller SetState(s : SessionState) SetState(DisplayState) Convert(s : SessionState) : DisplayState ELTE IK, Komponens alapú szoftverfejlesztés 9:26
27 Adatkötés megvalósítása Az adatkötés nyelvi támogatásként érhető el modern.net platformokon (pl. WPF, WinRT, UWP, Xamarin) a grafikus felületet deklaratívan, XAML segítségével írjuk le a felületen a kötéseket a Binding típus segítségével adjuk meg a cél helyén, és megadjuk a forrást (Source), továbbá megadhatjuk az átalakítás módját (Converter), pl.: <Label Text="{Binding Source=Value}" /> <!-- a feliratot adatkötéssel adjuk meg --> magára a teljes felületre az adatforrást (a nézet modellt) a DataContext tulajdonság segítségével helyezhetjük, pl.: ViewModel vm = new ViewModel; // nézet modell vm.value = 0; // érték beállítása view.datacontext = vm; // adatforrás megadása ELTE IK, Komponens alapú szoftverfejlesztés 9:27
28 Parancsok A parancs (command) tervminta célja egy művelet kiemelése egy külön objektumba, így azt több objektum többféleképpen is igénybe veheti a végrehajtandó tevékenység (Action) formája, paraméterezése tetszőleges lehet, ezért nem lehet egyazon módon különböző környezetekben kezelni a parancs (Command) egy egységes formát biztosít egy tevékenység végrehajtására (Execute), a konkrét parancs (ConcreteCommand) pedig biztosítja a megfelelő tevékenység végrehajtását a kezdeményező (Invoker) csupán a parancsot látja, így a tényleges végrehajtás előle rejtett marad ELTE IK, Komponens alapú szoftverfejlesztés 9:28
29 Parancsok Invoker «interface» Command + Execute() Receiver + Action() Client -receiver ConcreteCommand - state + Execute() receiver.action() ELTE IK, Komponens alapú szoftverfejlesztés 9:29
30 Parancsok megvalósítása A parancsok nyelvi támogatásként érhetőek el modern.net platformokon (pl. WPF, WinRT, UWP, Xamarin) a parancs (ICommand) lehetőséget ad egy tetszőleges tevékenység végrehajtására (Execute), illetve a végrehajthatóság ellenőrzésére (CanExecute) célszerű a tevékenységeket lambda-kifejezések (Action) formájában megvalósítani a parancsokat adatkötés segítségével, a nézet modellen keresztül kapcsolhatjuk a grafikus felületre, ahol a vezérlők parancs (Command) tulajdonságához köthetjük, pl.: <Button Command="{Binding MyCommand}" /> <!-- a parancsot adatkötéssel adjuk meg --> ELTE IK, Komponens alapú szoftverfejlesztés 9:30
31 MVVM architektúra A Model-View-Viewmodel (MVVM), vagy prezentációs modell (PM) architektúra a nézettel kapcsolatos tevékenységeket, illetve a nézetállapot frissítését egy nézetmodell (viewmodel) komponensbe helyezi a nézetmodell tartalmazza a felületi adatokat (megjelenített állapot), valamint a tevékenységek végrehajtásához szükséges műveleteket (parancsok formájában) a nézethez a megjelenített állapotot adatkötéssel kapcsoljuk, a nézetmodell pedig automatikusan jelez a nézetállapot megváltozásáról (figyelő segítségével) Az összetett tevékenységeket (pl. nézetek létrehozása) egy külön alkalmazás vezérlés (application control) biztosítja ELTE IK, Komponens alapú szoftverfejlesztés 9:31
32 MVVM architektúra MVVM felhasználó nézet létrehozás adatkötés jelzés alkalmazás vezérlés végrehajtás nézetmodell jelzés modell ELTE IK, Komponens alapú szoftverfejlesztés 9:32
33 Figyelő A figyelő (observer) tervminta célja összefüggőség megadása az objektumok között, hogy egyik állapotváltozása esetén a többiek értesítve lesznek a figyelő (Observer) ehhez biztosítja a változás jelzésének metódusát (Update) a megfigyelt objektumok (Subject) az értékeikben tett változtatásokat jelzik a felügyelőknek (Notify) egy objektumot több figyelő is nyomon kísérhet az MVVM architektúrában a figyelő szerepét az adatkötés tölti be, míg a megfigyelt objektum a nézetmodell ELTE IK, Komponens alapú szoftverfejlesztés 9:33
34 Figyelő Subject - observers :List<Observer> + Attach(Observer) + Detach(Observer) :Observer + Notify() for (all o in observers) o.update() -observers 1..* Observer + Update() ConcreteSubject - subjectstate + GetState() return subjectstate + SetState(State) Notify() -subject ConcreteObserver - observerstate + Update() observerstate = subject.getstate() ELTE IK, Komponens alapú szoftverfejlesztés 9:34
35 MVVM architektúra A nézetmodell tekinthető egy átjárónak (proxy), amely a nézet és a modell között helyezkedik el ViewModel Application Control View * Command * + HandleEvent() - Convert(Value) :DisplayedValue + GetState() :DisplayedValue «event» + Notify() + ComplexEvent() + Execute() * Model ELTE IK, Komponens alapú szoftverfejlesztés 9:35
36 MVVM architektúra client View Command ViewModel Model Execute(Value) HandleEvent() GetState() :SessionState Notify() Convert(SessionState) : DisplayedState GetState() :DisplayedState ELTE IK, Komponens alapú szoftverfejlesztés 9:36
37 MVVM architektúra Előnyei: a nézet csak a felület deklaratív leírását tartalmazza, minden tevékenység és adatkezelés (átalakítás) külön rétegben található a felület teljesen függetlenül alakítható ki a nézetmodelltől Hátrányai: összetett architektúra, alapos átgondolást, és sok beépített elemet igényel a nézet és a nézetmodell összekötése közötti inkonzisztenciák csak futási időben derülnek ki ELTE IK, Komponens alapú szoftverfejlesztés 9:37
38 MVVM architektúra megvalósítása Az MVVM architektúra megvalósítása nyelvi támogatásként érhető el modern.net platformokon (pl. WPF, WinRT, UWP, Xamarin) használjunk az adatkötést (Binding) és a parancsokat (ICommand) az adatokban (tulajdonságokban) történt változások nyomon követése a nézetmodellben történik (INotifyPropertyChanged) a megadott tulajdonság módosításakor kiválthatjuk a NotifyPropertyChanged eseményt gyűjteményekben bekövetkezett változásokat is nyomon követhetünk (INotifyCollectionChanged) ELTE IK, Komponens alapú szoftverfejlesztés 9:38
39 MVVM architektúra megvalósítása FrameworkElement Binding View Binding * +DataContext * ViewModelCommand ViewModel * ViewModelItem «interface» ICommand + CanExecute(Object) :bool + Execute(Object) :void ObservableCollection «interface» INotifyPropertyChanged Model «event» + PropertyChanged() :PropertyChangedEventHandler ELTE IK, Komponens alapú szoftverfejlesztés 9:39
40 Példa Feladat: Készítsünk egy táblajáték programot MVVM architektúrában, amelyben két játékos küzdhet egymás ellen. külön projektet hozunk létre a nézetmodellnek (ViewModel), valamint a nézetnek (View.Presentation) kiegészítjük a nézetmodellt a változásjelzéssel (INotifyPropertyChanged), amelyet egy közös ősosztályban kezelünk, és váltunk ki (ViewModelBase) a tevékenységeket felbontjuk a nézetmodell és az alkalmazás (App) között új nézetet igénylő tevékenységekről (pl. betöltés, mentés, játék vége) a nézetmodell, vagy a modell eseményt küld az alkalmazásnak ELTE IK, Komponens alapú szoftverfejlesztés 9:40
41 Példa Tervezés: Model::BoardGameModel -model App - persistence :IPersistence - model :BoardGameModel - viewmodel :BoardViewModel - window :BoardGameWindow - openfiledialog :OpenFileDialog - savefiledialog :SaveFileDialog Application + App() - App_Startup(object, StartupEventArgs) :void - Model_GameWon(object, GameWonEventArgs) :void - Model_GameOver(object, EventArgs) :void - ViewModel_LoadGame(object, System.EventArgs) :void - ViewModel_SaveGame(object, System.EventArgs) :void - ViewModel_GameExit(object, System.EventArgs) :void -window Window View::BoardGameWindow + BoardGameWindow() -model -viewmodel - model :BoardGameModel ViewModel::BoardViewModel ViewModelBase ViewModel::BoardItemViewModel - player :String + BoardItemViewModel(Action<Object>) «property» + Column() :Int32 + Row() :Int32 + Number() :Int32 + Player() :String + BoardItemCommand() :DelegateCommand ViewModelBase + BoardViewModel(BoardGameModel) - NewGame() :void - GetDisplayedState(PlayerData) :String - CreateBoard() :void - Model_FieldChanged(object, FieldChangedEventArgs) :void - OnLoadGame() :void - OnSaveGame() :void - OnGameExit() :void «event» + GameExit() :EventHandler + LoadGame() :EventHandler + SaveGame() :EventHandler «property» + NewGameCommand() :DelegateCommand + LoadGameCommand() :DelegateCommand + SaveGameCommand() :DelegateCommand + ExitGameCommand() :DelegateCommand + BoardWidth() :Int32 + BoardHeight() :Int32 + BoardItems() :ObservableCollection<BoardItemViewModel> * ELTE IK, Komponens alapú szoftverfejlesztés 9:41
Eseményvezérelt alkalmazások fejlesztése II 8. előadás. Összetett WPF alkalmazások. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 8. előadás Összetett WPF alkalmazások Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk egy Sudoku játékprogramot. A Sudoku egy olyan 9 9-es táblázat, amelyet úgy kell a 0-9 számjegyekkel
Programozási technológia II 6. előadás. Objektumorientált tervezési szempontok és minták
Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 6. előadás Objektumorientált tervezési szempontok és minták 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk egy Sudoku játékprogramot. A Sudoku egy olyan 9 9-es táblázat, amelyet úgy kell a 0-9 számjegyekkel
Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 5. előadás Windows Forms alkalmazások párhuzamosítása Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Programozási technológia 2.
Programozási technológia 2. Objektumorientált tervezési szempontok és minták Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. A tervezés Az objektumorientált tervezés során öt alapelvet célszerű követnünk
Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET) Webfejlesztés MVC architektúrában Fejlesztés ASP.
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 2. előadás Webfejlesztés MVC architektúrában (ASP.NET) 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
3. Beadandó feladat dokumentáció
3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a közismert Tic-Tac-Toe játékra. Ebben a játékban a játékosok egy -as játékmezőn
Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 5. előadás Windows Forms alkalmazások párhuzamosítása Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
3. Beadandó feladat dokumentáció
3. Beadandó feladat dokumentáció Készítette: Hallgató Harald E-mail: haha@inf.elte.hu Feladat: Készítsünk egy Sudoku játékprogramot. A Sudoku egy olyan 9 9-es táblázat, amelyet úgy kell a 0-9 számjegyekkel
Eseményvezérelt alkalmazások fejlesztése II 7. előadás. WPF alkalmazások architektúrája. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 7. előadás WPF alkalmazások architektúrája Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
MVC. Model View Controller
MVC Model View Controller Szoftver fejlesztés régen Console-based alkalmazások Pure HTML weboldalak Assembly, C Tipikusan kevés fejlesztő (Johm Carmack Wolfenstein, Doom, Quake..) Szűkös erőforrások optimális
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.
Komponens alapú szoftverfejlesztés 8. előadás. Szoftver architektúrák alapvetései. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Komponens alapú szoftverfejlesztés 8. előadás Szoftver architektúrák alapvetései Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Java Programozás 11. Ea: MVC modell
Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát
Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 2. előadás Webfejlesztés MVC architektúrában (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Fejlesztés
Eseményvezérelt alkalmazások fejlesztése II 7. előadás. WPF alkalmazások architektúrája. WPF alkalmazások architektúrája
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 7. előadás A nézet rétegződése Grafikus alkalmazásoknál alapvető tervezési kérdés a felületi megjelenés, valamint
Webes alkalmazások fejlesztése 9. előadás. Webszolgáltatások felhasználása (ASP.NET Core &.NET Framework)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 9. előadás Webszolgáltatások felhasználása (ASP.NET Core &.NET Framework) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
1. Beadandó feladat dokumentáció
1. Beadandó feladat dokumentáció Készítette: Hallgató Harald E-mail: haha@inf.elte.hu Feladat: Készítsünk egy Sudoku játékprogramot. A Sudoku egy olyan 9 9-es táblázat, amelyet úgy kell a 0-9 számjegyekkel
Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése Bevezetés Célkitűzés, tematika, követelmények A.NET Core keretrendszer Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése Célkitűzés, tematika, követelmények A.NET Core keretrendszer Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Célkitűzés
Webes alkalmazások fejlesztése 9. előadás. Webszolgáltatások felhasználása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 9. előadás Webszolgáltatások felhasználása (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe
Webes alkalmazások fejlesztése Bevezetés az ASP.NET MVC 5 keretrendszerbe ASP.NET MVC Framework 2009-ben jelent meg az első verziója, azóta folyamatosan fejlesztik Nyílt forráskódú Microsoft technológia
Eseményvezérelt alkalmazások fejlesztése II 4. előadás. Windows Forms alkalmazások architektúrája és tesztelése. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 4. előadás Windows Forms alkalmazások architektúrája és tesztelése Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Eseményvezérelt alkalmazások fejlesztése II 11. előadás. Window Runtime specifikus alkalmazások megvalósítása. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 11. előadás Window Runtime specifikus alkalmazások megvalósítása Giachetta Roberto A jegyzet az ELTE Informatikai
Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Nézetek kezelése Sok esetben
Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 12. fejezet Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2016. évi jegyzetpályázatának
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.
Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez
Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció
Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 10. Előadás A Timer komponens Tulajdonságok: Típus Tulajdonság Magyarázat bool Enabled Engedélyezve int Interval Meghívás periódusa ms-ban Metódusok: Típus Metódus
Operációs rendszerek. Az X Window rendszer
Operációs rendszerek X Windows rendszer Az X Window rendszer Grafikus felhasználói felületet biztosító alkalmazás és a kapcsolódó protokoll 1983-84: a Massachusetts Institute of Technology-n (MIT, USA).
Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto jegyzete alapján
Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Nézetek
A Web réteg architektúrája A JSF web alkalmazás keretrendszer. Bakay Árpád dr. NETvisor kft (30)
A Web réteg architektúrája A JSF web alkalmazás keretrendszer Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Új doc: JSPTutorial.html a web-en Szervletek és JSP-k, és ennek történelmi
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Véletlen számok generálása a Random osztály System.Random Metódus Típus Funkció Next() int Egy véletlen nem-negatív int értékkel tér vissza.
Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 1. előadás Webes alkalmazások és biztonságuk 2014.02.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Web-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása
Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar
MI Név, felvételi azonosító, Neptun-kód: MEGOLDÁS pont(45) : Csak felvételi vizsga: csak záróvizsga: közös vizsga: Közös alapképzéses záróvizsga mesterképzés felvételi vizsga Mérnökinformatikus szak BME
Adabáziselérés ODBC-n keresztül utasításokkal C#-ban
Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\
Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor
ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés Készítette: Gregorics Tibor Előfeltétel: OAF (EAF2) Kötelező házi feladatok: 4 darab feladat max. 5-5 pontért Feltételek 2 hét késés: legfeljebb 3
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
Komponens alapú fejlesztés
Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
Swing GUI készítése NetBeans IDE segítségével
Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az
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
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).
Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Mi hogyan használjuk? awt: eseménykezelés,
Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba
Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen
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
Bánsághi Anna anna.bansaghi@mamikon.net. 2015 Bánsághi Anna 1 of 31
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - ABLAKOK, ERŐFORRÁSOK 2015 Bánsághi Anna 1 of 31 TEMATIKA I. C# áttekintés II. WPF 2015 Bánsághi Anna 2 of 31 II. WPF 1.
Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Xamarin alapismeretek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 10. előadás Xamarin alapismeretek Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A
Eseményvezérelt és objektumorientált programozás
DIALOG BOXES, DATA BINDING, STYLES, TRIGGERS WPF 1 Készítsük el a hallgatók és az oktatók nyilvántartását megvalósító modult. Mindkettő hasonló módon működik, ezért az alábbi leírásban csak a hallgatói
Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.
Programozási Grafikus Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt: heavy weight" komponensek swing:
Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 2. előadás Webfejlesztés MVC architektúrában (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Fejlesztés
Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Window Runtime alapismeretek. Windows Runtime alapismeretek A Windows Runtime
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 10. előadás Window Runtime alapismeretek 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
3. Beadandó feladat dokumentáció
3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk adatbázis alapú, grafikus felületű alkalmazást egy apartmanokkal foglalkozó utazási ügynökség
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
JavaServer Pages (JSP) (folytatás)
JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek
Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Window Runtime alapismeretek, Modern UI alapú alkalmazások.
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 10. előadás Window Runtime alapismeretek, Modern UI alapú alkalmazások Giachetta Roberto A jegyzet az ELTE Informatikai
Programozási technológia
Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi
Webes alkalmazások fejlesztése. 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe
Webes alkalmazások fejlesztése 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe ASP.NET MVC Framework 2009-ben jelent meg az első verziója, azóta folyamatosan fejlesztik Nyílt forráskódú Microsoft technológia
Enterprise JavaBeans 1.4 platform (EJB 2.0)
Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans
Eseményvezérelt alkalmazások fejlesztése II 9. előadás. WPF erőforrások kezelése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 9. előadás WPF erőforrások kezelése Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Programozási környezetek
KOVÁSZNAI GERGELY ÉS BIRÓ CSABA EKF TTK Információtechnológia Tanszék Programozási környezetek Alkalmazható természettudományok oktatása a tudásalapú társadalomban TÁMOP-4.1.2.A/1-11/1-2011-0038 WPF Bevezetés
Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 7. előadás Autentikáció és autorizáció (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Autentikáció
Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika. Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 3. előadás Windows Forms dinamikus felhasználói felület, elemi grafika Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
ELTE, Informatikai Kar december 12.
1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,
Választó lekérdezés létrehozása
Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,
A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.
Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként
Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 7. előadás Autentikáció és autorizáció (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
ZH mintapélda. Feladat. Felület
ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új
Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Szoftver Tervezési Dokumentáció. Nguyen Thai Binh
Szoftver Tervezési Dokumentáció Nguyen Thai Binh April 2010 1. fejezet Feladat Szimulációs feladat. Célja, hogy reprezentáljunk egy több komponensből álló alkalmazást, amely a megadott témakörnek megfelel,
Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Általános szoftver architektúrák. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Általános szoftver architektúrák Giachetta Roberto http://people.inf.elte.hu/groberto Szoftverek architektúrája
Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Xamarin alapismeretek. Xamarin alapismeretek. Xamarin alapismeretek. Xamarin alapismeretek
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 10. előadás A Xamarin platform A Xamarin egy többplatformos szoftverfejlesztői környezet, amely lehetőséget ad
Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. MATLAB alapismeretek IX. A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása Alkalmazott Informatikai Intézeti
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
Adatbányászat és Perszonalizáció architektúra
Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a
Programozási technológia
Programozási technológia Grafikus felhasználói felület Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt,,heavy weight"
Eseményvezérelt alkalmazások fejlesztése I 12. előadás. Összetett szoftver architektúrák. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 12. előadás Összetett szoftver architektúrák Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014. évi
Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 3. előadás Windows Forms dinamikus felhasználói felület, elemi grafika 2015 Giachetta Roberto groberto@inf.elte.hu
Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Tesztelés
JAVA webes alkalmazások
JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,
Eseményvezérelt alkalmazások fejlesztése II 4. előadás. Windows Forms alkalmazások architektúrája és tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 4. előadás Windows Forms alkalmazások architektúrája és tesztelése 2015 Giachetta Roberto groberto@inf.elte.hu
CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )
Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
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
Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás
WebSphere Adapters 6. változat 2. alváltozat WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás Megjegyzés Az információk és a tárgyalt termék használatba vétele előtt feltétlenül
Általános szoftver architektúrák
Általános szoftver architektúrák Szoftverek architektúrája Szoftver architektúrának nevezzük a szoftver fejlesztése során meghozott elsődleges tervezési döntések halmazát. Az architektúra létrehozása során
UML (Unified Modelling Language)
UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)
Webes alkalmazások fejlesztése 14. fejezet. Szolgáltatások adatkezelése (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 14. fejezet Szolgáltatások adatkezelése (WCF) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2016. évi jegyzetpályázatának
Teszt generálás webes alkalmazásokhoz
Teszt generálás webes alkalmazásokhoz Írásos összefoglaló Pan Liu, Huaikou Miao, Hongwei Zeng és Linzhi Cai An Approach to Test Generation for Web Applications [1] c. munkájáról. Készítette: Doktor Tibor
Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) Állapotfenntartás. Állapotfenntartás. Állapotfenntartás.
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 6. előadás (ASP.NET) 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A HTTP protokoll A HTTP
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
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
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