C# Advanced
-
Details zu Klassen: Felder, Eigenschaften, Methoden und Ereignisse
: wann Felder, wann Eigenschaften
-
Ereignisse vs. Interface
- Bsp.: DirTree Basisklasse implemntiert das Template Pattern mittels überschreibbaren Methoden (Interface)
- Bsp.: LogServer implementiert das Observer Pattern, Eventhandler für Logs(- Abonenten) zur Laufzeit dynamisch austauschbar
-
Schnittstellenimplementierung vs. Implementierungvererbung
-
new vs. override (Bsp. Auto.tanken und Auto.tanken_polymorph)
-
Zugriffsmodifikatoren
: z.B. public vs. internal (siehe CSharp45.Basics/_04_Objektorientiert/Astro/inMem/Konstruktoren von Galaxie, Stern)
- Generische Typen
- List<> vs. ArrayList etc.
- Selber generische Typen mit Einschränkungen definieren (Bsp.: struct mko.BI.Interval<T>)
-
Pattern und Richtlinien für guten Code
- Schichtenaufteilung (Projektmappe Webarchitektur)
- Tests und Testprojekte
- Solid Code (Projektmappe Webarchitektur)
-
Kapselung des Datenzugriffes: Repository, UnitOfWork
(Einführendes Beispiel: CSharp45.Basics/_04_Objektorientiert/Astro)
- Entityframework
- Zugriff auf Daten mittels Linq
- Grenzen der Abstraktion mittels EF (CanvasScriptServer, effiziente Implementierung Zugriff auf Namen und die Folgen)
-
SQL-Server
- Download Sql Server Managment Studio
- Doku Sql Server Managment Studio
- Lizenzmodelle
- Download SQL Server Express 2016
- Doku Lokaldb- Mode
-
Entwurfsmuster zur Implementierung graphischer Oberflächen
- Vergleich der aktuellen Frameworks WinForm, WPF und ASP.NET MVC
- Wichtige Erzeugungsmuster
- Operator- Überladung (Bsp: mko.Algo.Romzahlen)
- Lebenszyklus und Verwaltung des Arbeitsspeichers
- Multithreading
- Grundlagen
- Methoden mit Threads aus dem Threadpool via Delegate starten
- Vorteile des Threadpools
- Nachteile der direkten Nutzung von Threads zwecks Vollauslastung des Rechners
- Vollauslastung mittels TPL (Task Parallel Library) erreichen
- Asynchrone Methoden mittels async/await