Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Understanding SOLID: Learn SOLID Design for C# Course
Rating: 4.0 out of 5(27 ratings)
113 students

Understanding SOLID: Learn SOLID Design for C# Course

The complete guide to great design for C# programmers
Last updated 6/2021
English

What you'll learn

  • SOLID Design Principles
  • How to recognize and correct design smells
  • How to use design patterns to address common design issues
  • Minimalistic design and implementation in line with Agile and Extreme Programming
  • How to design great software

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

3 sections16 lectures2h 33m total length
  • Introduction0:59

    Welcome to SOLID! 

  • Bio1:04

    A quick background on the instructor.

  • Using Udemy Code Exercises14:38

    [Optional]  Take a look at this tutorial on how to get the most from Udemy code exercises.

Requirements

  • Experience coding in C#
  • Experience with object-oriented design

Description

This course dives into the aspects of software engineering that produce both great and failed software.  We start off by looking at our goals for design, the common smells, process and the SOLID principles.  This course reinforces best practices using the experiences of the course author and instructor, Chuck McCullough.  As a practicing software engineer for over 30 years and having completed dozens of projects, he has the insights to cut through the theoretical and jump right to the important stuff!

Why choose this course?  Microsoft uses Chuck's courses to train their developers internally.  Chuck's courses have been delivered to thousands of developers in-person, online and via Udemy, including  major corporations, government agencies and military around the world.

There is no silver bullet or magic formula for great design.  Design is part art and part science and many design concepts are difficult to explain and grasp.  This course focuses on the issues of design in as simple and concise way possible.  Chuck also communicates that it is not necessary to implement all SOLID principles to have a great design.  In fact, many designs are overly complicated because the designers were unbending in SOLID principles - this is one of the many design smells that Chuck addresses in the course.

Using C# to demonstrate with lots of hands-on labs, this course teaches:

  • Design Goals - What are we trying to accomplish?

  • Design Smells - How to identify and objectively articulate bad design choices.

  • Test Driven Development and minimalistic design and implementation - Avoid overdesign and facilitate design changes.

  • Process - What are the best ways to proceed with software development and measure progress.

  • Single Responsibility Principle - Only one reason to change

  • Open/Close Principle - Open for business, closed for modification

  • Liskov's Substitution Principle - a subtype can do more and require less

  • Interface Segregation Principle - interfaces are for clients

  • Dependency Inversion Principle - don't call us, we'll call you!

This course is full of examples and hands-on opportunity along with 24/7 access to help and immediate feedback on labs.

Who this course is for:

  • Developers responsible for software design
  • C# Developers wanting to understand how to best develop applications