1
Het .NET-platform
- Principe en architectuur van het .NET-platform.
- .NET Framework architectuur: CLR, BCL en CLS (meertalige ondersteuning).
- Overzicht van de verschillende soorten toepassingen in een omgeving met meerdere doelen.
- Structuur van een .NET toepassing: notie van naamruimte.
- Ontwikkelgereedschappen en -omgeving.
- CIL-taal: principe van de tussentaal, principe van JIT-compilatie (Just In Time Compiler).
- Begrip van assemblage, metadata en implementatie.
- Private assembly en gedeelde assembly: handtekening, rol van de GAC (Global Assembly Cache), implementatie in de GAC.
- .NET Core evolutie, Open Source en cross-platform.
Praktisch werk
Voorbeeld van een minimaal C#-programma. Uitvoering in beheerde modus. Gebruik van de Visual Studio.NET ontwikkelomgeving om het eerste programma te schrijven.
2
Basis syntaxis: gegevens, uitdrukkingen en instructies
- Variabelen en expressies: declaratie, constanten, operatoren, anonieme en dynamische types.
- Datatypes: Common Type System, rol van de System.Object basisklasse en transtypering.
- Wat zijn de verschillen tussen waardetypes en verwijzingstypen?
- Basis syntaxis: array manipulatie, flow control instructies, etc.
- Nieuwe functies in C# 6 (null-conditional, verbeterde automatische eigenschappen, "Expression Bodied" functies, etc.).
- Nieuwe functies in C# 7 (leesbaarheid van constanten, "out" variabelen, tuples, pattern matching, reference return, enz.)
Praktisch werk
Programma's schrijven in C# met traditionele algoritmen.
3
Uitzonderingsverwerking
- Hoe de filosofie van uitzonderingen de manier waarop u programmeert zou moeten veranderen.
- Trigger aangepaste fouten met "throw".
- Gebruik van uitzonderingen voor gecentraliseerde foutafhandeling.
Praktisch werk
Invoerfouten afhandelen met uitzonderingen.
4
Objectgeoriënteerd programmeren
- Klassen en objecten.
- Objectgebaseerde modellering van de echte wereld.
- Concepten van veld, methode en eigenschap.
- Erfgoed.
- Polymorfisme.
- Interfaces voor meervoudige overerving.
5
Klassen en objecten in C#
- Definitie van klassen. Objectdefinitie.
- De inhoud van de klasse definiëren: methoden en eigenschappen.
- Zichtbaarheid van klasseleden: eigenschappen en methoden. Naamruimten gebruiken.
- Levenscyclus van objecten: constructor, destructor. Geheugenbeheer met Garbage Collector.
- Het overbelastingsmechanisme (constructeurs, methoden en operatoren).
- Derivatie en overerving van klassen: principe van derivatie, toegangscontrole tijdens derivatie.
- Het principe van polymorfisme.
- Principe van interfaces (definitie en implementatie, gebruik voor meervoudige overerving).
- Omgaan met attributen: het principe van metadata. Klasse-, methode- en veldattributen.
- Codegebieden en gedeeltelijke klassen. Generieke klassen.
- Delegates, covariantie, contravariantie en gebeurtenissen. Varianties toegepast op interfaces.
- Bedrijfsklassen vergelijkbaar met die in het .NET framework: properties, indexers en enumerators.
- Documentatie genereren.
Praktisch werk
Basisklassen schrijven. Manipuleren van methodes en eigenschappen in klassen. Klassen afleiden. Voorbeeld van het implementeren van een interface en het implementeren van polymorfisme door overerving of met een interface.
6
.NET Framework objecten en basisklassen
- Wat is een framework? Hoe het werkt. Hiërarchie van klassen.
- Omgaan met datums en looptijden. Stringverwerking met StringBuilder en reguliere expressies.
- Essentiële klassen: bestandssysteemmanipulatie, wiskunde, willekeurig, enz.
- De verschillende soorten verzamelingen, woordenboeken en hashtabellen.
- Generieke verzamelingen en Linq-bases met LINQ To Object op standaardverzamelingen.
Praktisch werk
Reguliere expressies en een hashtabel gebruiken. Een eerder aangemaakte verzameling LINQ-compatibel maken en LINQ To Objects gebruiken om deze op te vragen.
7
De verschillende soorten toepassingen ontwikkeld in .NET
- Principe en ontwerp van een bibliotheek van herbruikbare klassen.
- Principe en voorbeeld van WPF-toepassingen.
- Principe en voorbeeld van ASP.NET webservices.
- Inleiding tot gegevenstoegang met ADO.NET of Entity Framework en LINQ.
- Principe en voorbeeld van Asp.Net MVC webapplicaties.
Praktisch werk
Een Windows-formulier maken om een database te bevragen. Het demonstreren van Asp.Net MVC met een controller en een Razor pagina, die gegevens weergeeft.
Een eenvoudige webservice demonstreren.