Недавно я запустил минималистичное приложение для рисования, которое позволяет делать интерактивные (вложенные) наброски. И, как продолжение моего предыдущего S.O.L.I.D. Принципы вокруг вас, я организовал их в интерактивные Наброски принципов SOLID.

Проверьте, что у меня есть:

Таким образом, у каждого принципа SOLID есть отдельная страница эскиза, которая выглядит следующим образом.

Принцип единой ответственности

Эскиз СРП

Класс должен иметь только одну ответственность. Только одно потенциальное изменение в спецификации программного обеспечения должно повлиять на спецификацию класса.

Открытый/Закрытый Принцип

Скетч ОКП

Программные объекты должны быть открыты для РАСШИРЕНИЯ, но закрыты для МОДИФИКАЦИИ. Разрешить расширение поведения без изменения исходного кода.

Принцип замены Лисков

Эскиз ЛСП

Объекты в программе должны заменяться экземплярами их подтипов без изменения правильности этой программы.

Принцип разделения интерфейса

Эскиз интернет-провайдера

Многие клиентские интерфейсы лучше, чем один интерфейс общего назначения. Ни один клиент не должен зависеть от методов, которые он не использует.

Принцип инверсии зависимости

ДИП-эскиз

Следует полагаться на абстракции, а не на конкреции.

  • Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций.
  • Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

В будущем я планирую добавить в витрину okso.app больше наглядных пояснений, подобных этому. На данный момент доступен скетч Структуры данных, выполненный в стиле SOLID. Надеюсь, вам будет удобно иметь такие наглядные пояснения в одном месте.