Software Architecture: Meta and SOLID Principles in C# (The Course)
Minimum price
Suggested price

Course Info

This course includes 1 attempt.

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


Course Material

  • About the Course
  • Course Outline
  • SRP
  • Outline
  • SOLID Intro
  • Problem Statement
  • Demo of the Problem
  • Refactoring to a Better Design
  • More Examples of SRP Violations
  • SRP Related Patterns
  • Conclusion
  • OCP
  • Outline
  • OCP Definition. Problem Statement
  • Demo of the Problem
  • Refactoring to a Better Design
  • OCP Related Patterns
  • Common Smells of OCP Violation
  • Conclusion
  • LSP
  • Outline
  • LSP Definition. Problem Statement
  • Contracts
  • Demo of the Problem
  • Refactoring to a Better Design
  • More Examples of LSP Violations
  • Common Smells of LSP Violation
  • Conclusion
  • ISP
  • Outline
  • ISP Definition. Problem Statement
  • Demo of the Problem
  • Refactoring to a Better Design
  • Demo of the Problem. Example 2
  • Refactoring to a Better Design. Example 2
  • Common Smells, Fixes, and Related Patterns
  • Conclusion
  • DIP
  • Outline
  • DIP Definition. Problem Statement
  • Dependencies
  • Volatile and Stable Dependencies
  • IoC and DI Definitions
  • DIP Violation Demo
  • Refactoring to a Better Design Applying Dependency Injection
  • DI-Techniques
  • Architectural Implications
  • Pure DI and IoC-Containers
  • Building a Simple IoC-Container
  • Demo of a Real-World App Built with an IoC-Container
  • Common Smells of DIP Violations
  • Conclusion
  • Meta and SOLID Principles
  • Outline
  • DRY
  • KISS
  • SoC
  • CQS
  • Law of Demeter
  • PoLA
  • Encapsulation
  • API
  • SRP and ISP. What is the Difference
  • Architecture and Design
  • Conclusion


    • 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 more than 10 years, primarily based on the .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 MskDotNet 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.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub