SOLID

SOLID Principles Sketches

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:

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.