SOLID Principles Sketches

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:

1_tsThg7xE6FoiJxgv5M-OFQ.gif

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

1_gmC8qcnQu6nyYDDnz4yN5w.png

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.

1_FdvELkIu4LK_fiYSQRLUbA.png

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.

1_nGjUgnSt0g6GMOElhdx9xQ.png

Liskov Substitution Principle LSP Sketch

Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.

1_-ZVVZg3gdMF16DZPuqRVWg.png

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.

1_fHebYXRB-YXIaVsgC3sHGQ.png

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.

1_EtONTasVCIaHSogCb7khOw.png

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.