Skip to content
UdemyC#Paid courseAll LevelsCertificate

Software Architecture: Meta and SOLID Principles in C# (Udemy.com)

Learn how to develop maintainable software systems applying Design Patterns based on Meta and SOLID Principles

Created by: Engineer Spock

Last updated July 2020

icon
What you will learn

  • Determine if a class has too many responsibilities
  • Apply SRP to make classes more granular
  • Determine the smell of duplication caused by OCP violation
  • Apply OCP to remove or prevent duplications
  • Make client's lives more enjoyable by applying ISP, making interfaces more granular
  • Determine LSP violations which break client's code
  • Apply LSP to come up with proper inheritance
  • Apply DIP to develop plugin architecture
  • Build your own simple IoC-Container
  • Build clean API in C#
  • I'm tired to list all the stuff you'll be able to do after this course )))

How it compares

Against the other 194 rated Udemy courses in C# on CourseDuck:

  • Rating4.3 out of 5higher than 26% of them
  • Reviews1,310#57 of 195 by number of reviews
  • Length4.8 hoursshorter than 57% of them
  • Last updatedJuly 2020earlier than 61% of them

icon
Course Description

SOLID is an acronym which stands for SRP, OCP, LSP, ISP and DIP. These five acronyms in their turn stand for:   

  • Single Responsibility Principle   

  • Open/Closed Principle   

  • Liskov Substitution Principle   

  • Interface Segregation Principle   

  • Dependency Inversion Principle

In this course, you’ll learn how to apply meta and SOLID principles so that your application will live a long healthy life. It means you are going to learn how to write code of the high quality: readable, understandable and reliable.   

Improve your knowledge in object-oriented programming   

  • Understand the meta principles on which all the other development principles are based   

  • Understand the symptoms of code defects   

  • Learn the foundations of SOLID principles

  • Learn how to detect the violations of SOLID principles and how to fix the problems

  • Learn how meta principles and SOLID principles are related to each other and how to find the balance between them   

Foundations of writing object-oriented code

Despite the fact that C# is a very rich on features language, it's very common to see poorly designed and implemented applications in a real world. Language by itself does not guarantee that the architecture of an application will be great. In order to design and build maintainable software, we need to understand the principles of software development. This video course is exactly about how to achieve clean and maintainable software.   

You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn't suck.   

Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a decent professional.   

Content and Overview   

This course is aimed at middle and senior developers. Solid experience in C# is required.   

There are plenty of code examples throughout this course so that you will learn both theoretical and practical material.   

Starting with SOLID principles we will go further to the meta-principles. Going through the SOLID principles, you’ll also learn about the related patterns. Then we will get to the problem of contradictions between different principles. You’ll learn about the relationships between SOLID principles and meta principles.   

In general, you’ll learn in this course:   

  • SRP   

  • OCP   

  • LSP   

  • ISP   

  • DIP   

These are the SOLID principles. You’ll learn the background problems that can be solved by particular principle, you’ll see the demonstrations in code, you’ll learn the related patterns to every principle.   

Learning DIP you’ll in addition learn what is Dependency Injection, Inversion of Control, IoC-Containers and what are the architectural implications of DI.   

Here are other topics you’ll learn in the course:   

  • DRY – don’t repeat yourself   

  • KISS – keep it simple stupid   

  • YAGNI – You Ain’t Gonna Need It   

  • SoC – separation of concerns   

  • CQS – command query separation   

  • Law of Demeter   

  • Principle of Least Astonishment   

  • Information Hiding and Encapsulation   

  • API Development Principles   

  • Contradiction between SOLID and YAGNI   

  • Contradiction between OCP and YAGNI   

  • What is Architecture and Design

Teaching Approach

No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth.

Take this course, and you will be satisfied!

------------------------------------------------------------

Keywords related to the course:

  • Software Architecture

  • SOLID Principles Tutorial C#

  • SOLID Tutorial C#

  • Software Design

  • SOLID Principles

  • SRP, OCP, LSP, ISP, DIP

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Engineer Spock

I'm thankful enough for that I love what I do.

I began my career as a postgraduate student participating in Microsoft ImagineCup contest.

I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MSK.NET User Group in Moscow.

"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.

What I can say is that software is my art.

icon
More courses by Engineer Spock

$64.99

$74.99

$11.99

$69.99

$79.99

$11.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.3

1,310 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Mahesh Kulkarni on 9/18/2023

The contents of the course are really worth and explained very well with ample amount of code examples. The pace of delivery and style of delivery is also good. I would have given more ratings but just noticed one point that in some lectures the voice recording is not good, it becomes very low in volume and gets restore after some time. Overall, thanks for this wonderful course, I can recommend this course to all who are interested.

By Alireza Moghadamzadeh on 11/8/2020

This is a great course to watch for understanding SOLID principles as well as some of the most widely used design patterns.
Examples are very understandable and easy to follow.

By Mansoor Ahmed on 10/25/2020

The examples and demonstrations are very good however, in some places it would have been great to provide simple examples like we had for square and rectangle to explain the principle.
Since, the people who has a banking domain would most likely understand the examples for banking terminal. Hence i have given 4.5 otherwise its a 5 start course.

By Robert DeSautel on 10/19/2020

The Instructor explained the SOLID principles very well. The demonstrations of different type of Dependency Inversion will help me better understand which scenario would best fit my needs.

By Al on 10/15/2020

monoton

By Anthony on 9/21/2020

The most intuitive course on SOLID I have come across.

By Archana Kodange on 9/11/2020

Deep and on point explanations and facts included. Thank you for putting up a wonderful course.

By Marcin Wglowski on 8/20/2020

For me, it was really boring.
Long pauses in talking do not help in focusing.
I am not able to complete this course.

By Sebastian N on 7/23/2020

It's a really good overview of the SOLID Principles as they're well explained. The description of the MetaPrinciples are brief and accurate, which I also really liked.

By Boris Masnec on 7/7/2020

To abstract and not enough details

By Craig Thompson on 7/2/2020

This was an interesting and informative course, thanks

By David Guerrero on 6/23/2020

In several topics explanations are very generic and not clear

Showing 12 of 108 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100