The following updates compare the current "C# Interfaces" course (released Jun 2021) to the previous course (released Dec 2018).
Code Samples
- All code samples are cross-platform (Windows, Linux, macOS)
- Code samples work with Visual Studio 2019 and Visual Studio Code (see instructions in README.md).
- Code samples are console applications or ASP.NET web applications (MVC and API).
New Content
- Default implementation (added in C# 8) is covered. [Module 6]
- Cautions when using default implementation (including what is in the implementation and how to call the default). [Module 6]
- Additional demo for using configuration to select runtime behavior. [Module 3]
- New dependency injection demo using built-in ASP.NET dependency injection container with constructor injection and method configuration. [Module 3]
Revised Content
- Code to dynamically load assemblies (changed in .NET Core 3.0) has been updated. [Module 3]
- Comparison between interfaces and abstract classes has been changed to take default implementation into consideration. [Module 6]
Expanded & Updated
- Technical description has been updated to include access modifiers and default implementaton. [Module 2]
- Explicit implementation has been expanded due to similarities with default implementation. [Module 4]
- Unit testing code has been updated to use MSTest. [Module 3]