Недавно я запустил минималистичное приложение для рисования, которое позволяет делать интерактивные (вложенные) наброски. И, как продолжение моего предыдущего S.O.L.I.D. Принципы вокруг вас, я организовал их в интерактивные Наброски принципов SOLID.
Проверьте, что у меня есть:
Таким образом, у каждого принципа SOLID есть отдельная страница эскиза, которая выглядит следующим образом.
Принцип единой ответственности
Класс должен иметь только одну ответственность. Только одно потенциальное изменение в спецификации программного обеспечения должно повлиять на спецификацию класса.
Открытый/Закрытый Принцип
Программные объекты должны быть открыты для РАСШИРЕНИЯ, но закрыты для МОДИФИКАЦИИ. Разрешить расширение поведения без изменения исходного кода.
Принцип замены Лисков
Объекты в программе должны заменяться экземплярами их подтипов без изменения правильности этой программы.
Принцип разделения интерфейса
Многие клиентские интерфейсы лучше, чем один интерфейс общего назначения. Ни один клиент не должен зависеть от методов, которые он не использует.
Принцип инверсии зависимости
Следует полагаться на абстракции, а не на конкреции.
- Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
В будущем я планирую добавить в витрину okso.app больше наглядных пояснений, подобных этому. На данный момент доступен скетч Структуры данных, выполненный в стиле SOLID. Надеюсь, вам будет удобно иметь такие наглядные пояснения в одном месте.