Sadržaj kursa
Sesija 1: SOLID principi i čist kod
- Pregled SOLID principa (Jedna odgovornost, Otvoreno/Zatvoreno, Liskov substitucija, Segregacija interfejsa, Inverzija zavisnosti)
- Primenjivanje SOLID principa na kod na C#
- Principi čistog koda i najbolje prakse
- Tehnike refactorovanja za poboljšanje održivosti i čitljivosti koda
Sesija 2: Razvoj slojevite aplikacije
- Razumevanje obrasca slojevite arhitekture
- Implementacija separacije zabrinutosti u aplikacijama na C#
- Dizajniranje i implementacija slojeva prezentacije, poslovne logike i pristupa podacima
- Injekcija zavisnosti (DI) u slojevitim aplikacijama
Sesija 3: Generička kovarijanta i kontravarijanta
- Istraživanje kovarijante i kontravarijante na C#
- Korišćenje generičkih interfejsa i delegata sa kovarijantom i kontravarijantom
- Razumevanje ključnih reči `in` i `out` u parametrima generičkih tipova
- Praktični primeri i slučajevi upotrebe kovarijante i kontravarijante
Sesija 4: LINQ i napredno upitivanje
- Pregled osnova LINQ-a
- Dublje razumevanje LINQ operatera za upite
- LINQ sa kompleksnim strukturama podataka i prilagođenim tipovima
- Uzimanje u obzir performansi i tehnike optimizacije
Sesija 5: IDisposable i upravljanje resursima
- Razumevanje interfejsa IDisposable i obrazca Dispose
- Implementacija pravilnog upravljanja resursima i čišćenja
- Korišćenje izjave `using` i obrazca IDisposable na C#
- Postupanje sa neupravljanim resursima i finalizacija
Sesija 6: Slabi događaji i upravljanje memorijom
- Obrazi slabe događaja na C# za rukovanje događajima
- Sprječavanje curenja memorije uz pomoć slabih referenci
- Razumevanje upravljanja memorijom u .NET-u i pokupljača otpada (garbage collector)
- Strategije za optimizaciju korišćenja memorije i minimiziranje curenja memorije
Sesija 7: Filozofija formi i obrazci dizajna UI-ja
- Principi dizajniranja i organizovanja formi u aplikacijama na C#
- MVVM (Model-View-ViewModel) i drugi obrazci dizajna korisničkog interfejsa
- Implementacija vezivanja podataka (data binding) i komandi u WPF aplikacijama
- Obrađivanje ulaza korisnika i validacija u formama
Sesija 8: Paralelno programiranje sa nitima (threads), zadacima (tasks) i Async/Await
- Uvod u koncepte paralelnog programiranja
- Kreiranje i upravljanje nitima na C#
- Rad sa biblioteTask Parallel Library (TPL) za paralelno obradu
- Asinhrono programiranje sa ključnim rečima `async` i `await`
Uslovi
- Od učesnika se očekuje osnovno razumevanje koncepata programiranja na C#, uključujući promenljive, tipove podataka, kontrolu toka programa i osnovne principe objektno-orijentisanog programiranja.
Iskustva korisnika (3)
Trening je bio jedan-na-jedan, pa je bio usmeren isključivo na moje specifične potrebe. Shane je istakao elemente WPF/C# koji bi mogli biti korisni za moje razvojne projekte.
Warren Nolan - Northrop Grumman
Kurs - Programming in WPF
Mašinski prevedeno
Prijatan i pristupačan. Vrlo kompetentan. Preporučio bih Šena drugima.
Joshua - California State University Bakersfield
Kurs - Programming in C# with Visual Studio 2022
Mašinski prevedeno
Nabavio sam novo znanje i samouveren sam u svoje razumevanje. Nema ničega nejasnog.
Barbara - Titian Software Poland Sp. z o.o.
Kurs - Selenium WebDriver in C#
Mašinski prevedeno