S-Single responsibility principle. (A class should have only a single responsibility.)O-Open/closed principle (software entities … should be open for extension, but closed for modification.)L-Liskov substitution principle (objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.)I-Interface segregation principle (many client-specific interfaces are better than one general-purpose interface)D-Dependency inversion principle (one should Depend upon Abstractions. Do not depend upon concretions.Dependency injection is one method of following this principle.)
I have recently found a very nice article on this topic at the below link: http://www.codeproject.com/Articles/703634/SOLID-architecture-principles-using-simple-Csharp
C# Corner. All contents are copyright of their authors.