Categories: Software Architecture

SOLID -Basic Software Design Principles

Some of the Key factors that need to consider while architecting or designing a software solution is Reusability, Extensibility.

Many times you might have gone through various tutorials on SOLID software design principles. Don’t mind… let me put it here again on my words and my understanding.

The key behind any good software design is Low coupling and High cohesion. The term itself gives some hint of what it means. You will get more insight when you read on further.

If you design your software by following the mentioned SOLID principles it is guaranteed to a great extent loosely coupling and with a high degree of cohesion. Let me delve deeper

What is SOLID?

S Singularity Principle

There should never be more than one reason for a class to change. Ideally, each class should have only a    single purpose within the system

O   Open Closed Principle

Software Entities like Classes, Modules, Functions, etc. should be open for extension but closed for modifications.

L    Liskov Substitution Principle

Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.

I     Interface Segregation Principle

Clients should not be forced to depend upon interfaces that they don’t use. This means separate client-specific interfaces are always better than one general-purpose interface.

D Dependency Inversion Principle

High-level modules should not depend on low-level modules. Both should depend on the abstraction.  Abstraction should not depend on details. Details should depend on Abstraction.

Rajeev

Recent Posts

OWIN Authentication in .NET Core

OWIN (Open Web Interface for .NET) is an interface between web servers and web applications…

1 year ago

Serializing and Deserializing JSON using Jsonconvertor in C#

JSON (JavaScript Object Notation) is a commonly used data exchange format that facilitates data exchange…

1 year ago

What is CAP Theorem? | What is Brewer’s Theorem?

The CAP theorem is also known as Brewer's theorem. What is CAP Theorem? CAP theorem…

1 year ago

What is Interface Segregation Principle (ISP) in SOLID Design Principles?

The Interface Segregation Principle (ISP) is one of the SOLID principles of object-oriented design. The…

1 year ago

What is Single Responsibility Principle (SRP) in SOLID Design Priciples?

The Single Responsibility Principle (SRP), also known as the Singularity Principle, is a software design…

1 year ago

What is the Liskov Substitution Principle(LSP) in SOLID Design Principles?

Liskov substitution principle is named after Barbara Liskov, a computer scientist who first formulated the…

1 year ago