[Tutorial] S.O.L.I.D. quality code in C#

In my work I often come across software that has organically grown to become a huge beast. The S.O.L.I.D. design principles help to prevent all of these problems and allow the writing of high quality code.

Single Responsibility Principle
Open Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle

I came across a blog explaining the principles with c# examples.

Part2: Single Responsibility Principle (SRP) 

Part3: Open Closed Principle (OCP)

Part4: Liskov Substitution Principle (LSP)

Part5: Interface Segregation Principle (ISP)

Part6: Dependency Inversion Principle (DIP)