Het .NET-platform
- Principe en architectuur van het .NET-platform.
- Architectuur van het .NET-framework: CLR, BCL en CLS (meertalige ondersteuning).
- Overzicht van de verschillende soorten toepassingen in een multitarget-omgeving.
- Structuur van een .NET-toepassing: begrip naamruimte.
- Ontwikkelprogramma’s en -omgeving.
- CIL-taal: principe van de tussentaal, principe van de JIT-compilatie (Just In Time Compiler).
- Begrip assembly, metadata en implementatie.
- Persoonlijke assembly en gedeelde assembly: handtekening, rol van de GAC (Global Assembly Cache), implementatie in de GAC.
- .Net Core-evolutie, Open Source en multiplatform.
Praktisch werk
Voorbeeld van een minimaal C#-programma. Uitvoering in beheerde modus. Gebruik van de ontwikkelomgeving Visual Studio.NET om het eerste programma te schrijven.
Basissyntaxis: gegevens, expressies en instructies
- Variabelen en expressies: declaratie, constanten, operatoren, anonieme en dynamische typen.
- Soorten gegevens: Common Type System, rol van de basisklasse System.Object en conversie.
- Welke verschillen zijn er tussen de waarde- en referentietypen?
- Basissyntaxis: bewerking van tabellen, transportbesturingsinstructies ...
- Nieuwigheden van C# 6 (null-conditional, verbetering van de automatische eigenschappen, “Expression Bodied”-functies ...).
- Nieuwigheden van C# 7 (leesbaarheid van constanten, “out”-variabelen, tuples, pattern matching, reference return ...).
Praktisch werk
Programma’s in C# schrijven met implementatie van klassieke algoritmen.
Beheer van uitzonderingen
- Hoe de filosofie van uitzonderingen uw manier van programmeren moet veranderen.
- Activering van gepersonaliseerde fouten met “throw”.
- Gebruik van uitzonderingen voor de gecentraliseerde verwerking van fouten.
Praktisch werk
Beheer van invoerfouten met behulp van uitzonderingen.
Objectgeoriënteerde programmering
- Klassen en objecten.
- Modellering van de reële wereld per object.
- Begrippen veld, methode en eigenschap.
- Overerving.
- Polymorfisme.
- Interfaces voor meervoudige overerving.
Klassen en objecten in C#
- Bepaling van klassen. Bepaling van objecten.
- Bepaling van de inhoud van de klasse: methoden en eigenschappen.
- Zichtbaarheid van de leden van een klasse: eigenschappen en methoden. Gebruik van naamruimten.
- Levenscyclus van objecten: constructor, destructor. Geheugenbeheer met de Garbage Collector.
- Overloadmechanisme (constructors, methoden en operatoren).
- Afleiding en overerving van klassen: principe van afleiding, toegangscontrole tijdens de afleiding.
- Principe van polymorfisme.
- Principe van interfaces (definitie en implementatie, gebruik voor meervoudige overerving).
- Bewerking van kenmerken: principe van metadata. Klasse-, methode-, veldkenmerken.
- Coderegio’s en gedeeltelijke klassen. Generieke klassen.
- Gemachtigden, covariantie, contravariantie en gebeurtenissen. Op de interfaces toegepaste varianties.
- Bedrijfsklassen die op die van het .NET-framework lijken: realisatie van eigenschappen, indexeerfuncties en enumerators.
- Documentatie genereren.
Praktisch werk
Basisklassen schrijven. Bewerking van methoden en eigenschappen in de klassen. Klasse-afleiding. Voorbeeld van de implementatie van een interface en de implementatie van polymorfisme door overerving of met een interface.
Object en basisklassen van het .NET-framework
- Wat is een framework? Principe. Hiërarchie van klassen.
- Verwerking van datums en tijden. Verwerking van tekenreeksen met StringBuilder en reguliere expressies.
- Onvermijdelijke klassen: bewerking van het bestandssysteem, Math, Random, enz.
- De verschillende soorten verzamelingen, woordenlijsten en hashtabellen.
- Generieke verzamelingen en databases van Linq met LINQ To Object voor standaard verzamelingen.
Praktisch werk
Gebruik van reguliere expressies en een hashtabel. Een eerder gerealiseerde verzameling compatibel met LINQ maken en LINQ To Objects gebruiken om die verzameling te bevragen.
De verschillende soorten in .NET ontwikkelde toepassingen
- Principe en ontwerp van een bibliotheek van herbruikbare klassen.
- Principe en voorbeeld van WPF-toepassingen.
- Principe en voorbeeld van ASP.NET-webservices.
- Inleiding tot toegang tot gegevens met ADO.NET of Entity Framework en LINQ.
- Principe en voorbeeld van Asp.Net MVC-webtoepassingen.
Praktisch werk
Opstelling van een Windows-formulier om een database te bevragen. Demonstratie van Asp.Net MVC met een controller en een Razor-pagina, met weergave van gegevens.
Demonstratie van een eenvoudige webservice.