STEAM INVENT LogoSTEAM INVENT
Softversko inženjerstvoNapredni nivo

C#: Desktop App Development - Full Stack

WPF, MVVM i razvoj profesionalnih .NET desktop aplikacija

C#: Desktop App Development - Full Stack

O ovom programu

Ovaj kurs predstavlja nastavak našeg C# kursa za srednji nivo i namenjen je polaznicima koji žele da svoje znanje programiranja podignu na nivo razvoja kompletnih i struktuisanih desktop aplikacija. Kroz praktičan rad sa .NET 10, WPF i XAML tehnologijama polaznici uče kako da grade moderne Windows desktop aplikacije i kako da korisnički interfejs odvoje od poslovne logike i pristupa podacima. Poseban akcenat stavljen je na MVVM arhitekturu, data binding, ObservableObject, ObservableCollection, commands, dependency injection i organizaciju aplikacije kroz jasno definisane slojeve. Polaznici se upoznaju sa Entity Framework Core pristupom radu sa relacionim bazama podataka, povezivanjem WPF aplikacije sa SQL Server bazom, kreiranjem modela, DbContext-a i servisnog sloja, kao i implementacijom CRUD operacija. Kroz praktičan projekat razvijaju kompletnu desktop aplikaciju koja povezuje korisnički interfejs, ViewModel sloj, poslovnu logiku i bazu podataka. Tokom razvoja aplikacije polaznici uče kako da implementiraju pregled, dodavanje, izmenu i brisanje podataka, rad sa relacijama između entiteta, iznajmljivanje i vraćanje podataka, validaciju korisničkog unosa, obradu grešaka i asinhroni rad. Na kraju kursa samostalno razvijaju funkcionalnu WPF aplikaciju zasnovanu na MVVM arhitekturi i primenjuju naučene principe softverske arhitekture, objektno-orijentisanog programiranja i rada sa bazama podataka. Kurs predstavlja završni korak u našoj C# programskoj putanji i priprema polaznike za dalje usavršavanje u oblasti .NET softverskog inženjerstva.

Tehnologije i alati koje savladavamo

C #.NET 10Visual StudioWPFXAMLMVVMEntity Framework CoreSQL ServerLINQDependency InjectionData BindingCommandsAsync/Await

Detaljan plan i program

Nedelje 1-4

WPF, XAML i arhitektura .NET desktop aplikacije

U prvom mesecu polaznici prelaze sa razvoja klasičnih C# aplikacija na razvoj grafičkih desktop aplikacija korišćenjem WPF tehnologije u .NET 10 okruženju. Upoznaju ulogu .NET platforme, WPF-a i XAML-a i uče kako se definiše struktura korisničkog interfejsa pomoću različitih layout panela i standardnih WPF kontrola. Obrađuju se Grid, StackPanel, DockPanel, WrapPanel, DataGrid, TextBox, ComboBox, CheckBox, Button, ListBox i drugi elementi korisničkog interfejsa. Polaznici zatim uče konceptualno razdvajanje prezentacionog sloja od ostatka aplikacije, organizaciju WPF projekta, rad sa Resources i osnovama kreiranja stilizovanog i preglednog korisničkog interfejsa. U završnom delu meseca uvode se UserControl, DataTemplate, Style, Trigger i Value Converter koncepti koji predstavljaju osnovu za izgradnju funkcionalnijeg i profesionalnijeg WPF interfejsa.

Fokus i alati:
WPFXAMLWindowGridWPF kontroleStylesResourcesDataTemplateValue Converter
Nedelje 5-8

MVVM, Data Binding, Commands i Dependency Injection

U drugom mesecu polaznici detaljno upoznaju MVVM arhitekturu i uče kako da WPF aplikaciju organizuju tako da korisnički interfejs bude odvojen od aplikacione i poslovne logike. Obrađuju se Model, View i ViewModel u praktičnom kontekstu, kao i ObservableObject, INotifyPropertyChanged, ObservableProperty i ObservableCollection. Polaznici uče kako funkcioniše Data Binding, uključujući OneWay, TwoWay i binding kolekcija, selected objekata i UI svojstava. Poseban deo kursa posvećen je Commands mehanizmu kroz ICommand, RelayCommand i AsyncRelayCommand, kao i povezivanju komandi sa kontrolama u XAML-u. Nakon toga se uvodi Dependency Injection i organizacija servisa pomoću interfejsa i konkretnih implementacija. Kroz praktične primere polaznici povezuju View, ViewModel i servisni sloj i grade aplikaciju bez direktnog mešanja poslovne logike i korisničkog interfejsa.

Fokus i alati:
MVVMView / ViewModel / ModelINotifyPropertyChangedData BindingICommandDependency InjectionInterfacesService Layer
Nedelje 9-12

Entity Framework Core, SQL Server i rad sa podacima

U trećem mesecu polaznici povezuju WPF aplikaciju sa relacionom bazom podataka i upoznaju kompletan tok rada sa podacima kroz Entity Framework Core. Kreiraju SQL Server bazu, tabele i relacije između entiteta i uče kako se C# modeli povezuju sa bazom preko DbContext klase. Obrađuju se DbSet, konfiguracija konteksta, rad sa relacijama, navigacionim svojstvima i LINQ upitima. Polaznici zatim uvode Data Access Layer i Business Logic Layer i uče kako da pristup podacima organizuju kroz servisne interfejse i implementacije. Poseban fokus stavljen je na CRUD operacije, asinhroni rad sa bazom, filtriranje i selekciju podataka, proveru uslova pre izvršavanja operacija i obradu izuzetaka. Na kraju meseca WPF aplikacija dobija funkcionalnu vezu sa bazom podataka i omogućava učitavanje i prikaz stvarnih podataka kroz ViewModel i Data Binding.

Fokus i alati:
SQL ServerEntity Framework CoreDbContextDbSetEF Core modeliLINQCRUDDatabase operations
Nedelje 13-16

Kompletna WPF/MVVM aplikacija i završni projekat

U završnom mesecu polaznici objedinjuju sve naučene tehnologije i principe kroz razvoj kompletne WPF desktop aplikacije zasnovane na MVVM arhitekturi. Kao praktični projekat razvijaju aplikaciju za upravljanje igrama, korisnicima i iznajmljivanjima, pri čemu se povezuju WPF interfejs, ViewModel sloj, servisni sloj, Entity Framework Core i SQL Server baza. Implementiraju se prikaz i selekcija podataka, dodavanje novih zapisa, izmena postojećih zapisa i brisanje podataka uz potvrdu korisnika. Zatim se implementiraju poslovne funkcionalnosti poput iznajmljivanja i vraćanja igre, provere dostupnosti i automatskog osvežavanja podataka. Polaznici uče kako da koriste komande i binding umesto direktne poslovne logike u code-behind fajlovima, kao i kako da obrađuju greške, prikazuju statusne poruke i organizuju UI na način koji je pregledan i lak za održavanje. Kurs se završava samostalnim završnim projektom u kojem polaznici kreiraju sopstvenu WPF aplikaciju i primenjuju kompletnu arhitekturu naučenu tokom kursa.

Fokus i alati:
WPF appMVVM patternCRUDCommandsEF CoreSQL ServerDependency InjectionValidationZavršni projekat

Osnovne informacije

Trajanje programa:4 meseca (32 časa)
Nivo složenosti:Napredni
Lokacija nastave:STEAM INVENT

Zainteresovani ste za ovaj program?

Broj mesta u grupama je ograničen kako bismo obezbedili maksimalan kvalitet mentorskog rada i posvećenost svakom polazniku.

Kontaktirajte nas za upis