SOLID Design Principles in C# Understand with Real-time Examples

The Object-Oriented Design Principles are the core of OOP programming, but I have seen most of the Developers chasing design patterns like Factory Design Patterns, Singleton pattern, Decorator pattern, Adapter Pattern or Observer pattern, and not putting enough attention on learning Object-oriented analysis and design.

SOLID Design Principles in CSharp

It's very important to learn the basics of Object-oriented programming like Abstraction, Encapsulation, Inheritance, Polymorphism. But, at the same time, it's equally important to know about object-oriented design principles. it will help you to create a modular and clean design, which would be easy to test in all scenarios, debugging, and maintain the code in the future.

SOLID Design Principles

There are five SOLID Design Principles as shown below list and OOD:

  1. Single Responsibility Principle (SRP)
  2. Open-Closed Principle (OCP)
  3. Liskov Substitution Principle (LSP)
  4. Interface Segregation Principle (ISP)
  5. Dependency Inversion Principle (DIP)
  6. DRY
  7. Delegation Principles (Don't repeat yourself)

Advantages of SOLID Design Principles in C#

The main advantage is helping to decouple the code. below are some advantages
  1. Maintainability
  2. Testability 
  3. Flexibility and Extensibility
  4. Easy to debugging the code
  5. Parallel Development

Single Responsibility Principle (SRP)

Clas should always handle the single or only one type of functionality or there should be one reason to change or modify the class and there should not be more than one reason to change the class.
for example:
I have the Vendor class then I have the chance to change the code when I get the changes in Vendor modification not on the Customer modification side.

Open-Closed Principle (OCP)

the name itself tells the meaning is Open for extension closed for modification.

No comments: