Design Patterns Using C# and .NET Core

Video description

Design patterns are reusable solutions to common programming problems. They speed up the development process by providing tested, proven development paradigms. This course starts at the nuts-and-bolts level and shows you everything through to advanced patterns and features, going in-depth to give you the knowledge you need.

You will begin this course with an introduction to SOLID principles, which will introduce you to clean-code concepts and will elevate your skills. With this knowledge in your toolbox, you will be ready to move on to studying creational design patterns, patterns related to the creation of objects, such as Singleton, Factory, and Dependency Injection. You will then acquire more in-depth knowledge of one specific creational pattern, the Dependency Inversion pattern, which will teach you how to write highly extensible, maintainable, and testable code. Moving on, you will get your hands dirty with structural design patterns and you will complete this course by learning the last group of patterns: behavioral design patterns.

By the end of this course you will be very confident in implementing a new feature in C# and .NET Core because, every time you have a problem, the correct design pattern will spontaneously come to mind.

This course uses .NET Core 2.0, and VS2017 community edition+, while not the latest version available, it provides relevant and informative content for legacy users of .NET Core, and Visual Studio.

What You Will Learn

  • Write better code by exploring SOLID principles
  • Group design patterns
  • Maintain and expand your code with Dependency Inversion in modern C# applications
  • Get familiar with the Singleton design Pattern to work with single instances
  • Use Singleton along with an IoC container
  • Explore the concepts of loose coupling
  • Look for value changes using the Observer pattern
  • Implement interchangeable algorithms with the Strategy pattern
  • Go from inheritance to composition


This course is for C#, .Net professionals and students alike who would like to gain profound insights into design patterns via code walkthroughs and fast-paced knowledge acquisition through listening and watching.

This course is also suitable for Java developers as C# and Java are very much alike, and the course focuses more on core principles and patterns rather than language specifics. In this case, a quick review of C# features is recommended before starting the course.

About The Author

Dimitiris Loukas: Dimitris Loukas is a software engineer currently writing Single Page Applications and using the latest JavaScript with Aurelia, Angular, C#, and .NET Core for a trading software firm. He has worked for two start-ups in the past, is active in the open source community, and loves taking up small side-projects. He has mastered Angular, Aurelia, and Vue.JS and is now interested in entering the ReactJS world. He is an early adopter of .NET Core and is fascinated by modern JavaScript and where the web is going.

Product information

  • Title: Design Patterns Using C# and .NET Core
  • Author(s): Dimitris Loukas
  • Release date: June 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781788625258