Umeshtharukaofficial Hashnode Dev Solid Principles Sketches

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

MENU

Umesh Tharuka Malaviarachchi

SOLID Principles Sketches

Umesh Tharuka Malaviarachchi

Oct 8, 2022 · 2 min read

Subscribe to my newsletter and never miss my upcoming articles

Email address SUBSCRIBE

I’ve recently launched the minimalistic drawing app that allows you to
do interactive (nested) sketches. And, as a continuation of my previous
S.O.L.I.D. Principles Around You article, I’ve organized them into
interactive SOLID Principles Sketches.

Check what I’ve got:

1_tsThg7xE6FoiJxgv5M몭OFQ.gif

So, each SOLID principle has a dedicated sketch page that looks like
the following

Single Responsibility Principle SRP Sketch

A class should have only a single responsibility. Only one potential


change in the software’s specification should be able to affect the
specification of the class.
Open/Closed Principle OCP Sketch

Software entities should be open for EXTENSION, but closed for


MODIFICATION. Allow behavior to be extended without modifying the
source code.

Liskov Substitution Principle LSP Sketch

Objects in a program should be replaceable with instances of their


subtypes without altering the correctness of that program.
Interface Segregation Principle ISP Sketch

Many client-specific interfaces are better than one general-purpose


interface. No client should be forced to depend on methods it does not
use.
Dependency Inversion Principle DIP Sketch

One should depend upon abstractions, not concretions.

High-level modules should not depend on low-level modules. Both


should depend on abstractions. Abstractions should not depend on
details. Details should depend on abstractions.

In the future I plan to add more visual explainers like this one to the
okso.app showcase. Currently there is a Data Structures sketch is
available that is done in a similar style as SOLID one. I hope having
such visual explainers in one place will be convenient for you.

1
©2022 Umesh Tharuka Malaviarachchi
Archive · Privacy policy · Terms

Publish with Hashnode

Powered by Hashnode - a blogging community with over 2 Million members

You might also like