Thursday, June 24, 2021

New and Updated: "C# Interfaces" Course on Pluralsight

An updated version of my "C# Interfaces" course is now available on Pluralsight.

You can click on the link and watch a short promo for the course. If you are not a Pluralsight subscriber, you can sign up for a free trial and watch the entire course.

"C# Interfaces" title slide with a photo of the author, Jeremy Clark


Code that is easy to maintain, extend, and test is key to applications that can move quickly to meet your users’ needs. In this course, C# Interfaces, you’ll learn to use interfaces to add flexibility to your code. First, you’ll explore the mechanics (“What are interfaces?”) and why you want to use them. Next, you’ll discover how to create your own interfaces to make it easy to change or swap out functionality. Finally, you’ll learn about default member implementation and how to avoid some common stumbling blocks. When you’re finished with this course, you’ll have the skills and knowledge of C# interfaces needed to write application code that is easy to maintain, extend, and test.

What's Different

For those who have seen a previous version of this course, here are a few key things that have been added or updated:
  • New section on default implementation
  • A new comparison between interfaces and abstract classes
  • New demo on using configuration and compile-time binding
  • Updated content for dynamic loading of assemblies
  • All code samples are cross-platform friendly (Windows, Linux, macOS)
For a full list of changes, you can check out the change log: "C# Interfaces" Change Log.

Additional Resources

I have added an "Additional Resources" repository on GitHub that includes:
  • The latest code samples (to be updated when .NET 6 drops later this year)
  • Instructions on running the samples with Visual Studio 2019 and Visual Studio Code
  • A list of relevant files for each code sample
  • Articles and links for further study

There are also a couple of samples that I was not able to fit into the course. So stay tuned to this blog; I'll be posting those in the near future.

Happy Coding!