[Записки программиста] Еще раз про SOLID

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Маленькие заметки для тех, кому сложно понять кучу умных слов,

Single Responsibility Principle — принцип единственной ответственности

Open Closed Principle — принцип открытости-закрытости

Liskov Substitution Principle — принцип подстановки Барбары Лисков

Interface Segregation Principle — принцип разделения интерфейса

Dependency Inversion Principle — принцип инверсии зависимостей

Делай модули меньше
Делай модули меньше

Смысл единственной ответственности
Делай модули поменьше, плоди наследственности.
Обращение к базе данных, генерация html,
Запихнул ты в суперкласс - ты очень неумел!

Делай модули расширяемыми
Делай модули расширяемыми

Открыт для расширения, изменениям закрыт,
Этот принцип сильно, в описании размыт.
Не надо нам условий, в родителе плодить,
Добавь ему наследников, и им теперь рулить.

Наследуйся правильно
Наследуйся правильно

Любимый принцип подстановки, Барбары Лисков,
Он на самом деле, в подходе прям суров!
Если есть наследник, то должен он уметь,
Все что и родитель, ничто не затереть.

Дроби интерфейсы
Дроби интерфейсы

Интерфейсики огромные, нам следует разбить,
Лучше их по коду, побольше наплодить!
Захочешь почесаться, чихнуть или зевнуть,
Отдельный интерфейс написать ты не забудь!

Используй абстракции
Используй абстракции

Депенденси инвершн, проще говоря,
Используйте абстракции, как понимаю я!
Передавайте в методы, какой-то внешний класс,
А в нем храним мы логику, и клево все у нас!


За пояснениями сюда:

Принципы SOLID в картинках
Если вы знакомы с объектно-ориентированным программированием , то наверняка слышали и о принципах SO...
habr.com

Источник: https://habr.com/ru/articles/877354/


Интересные статьи

Интересные статьи

Если Вы используете Битрикс24 и у Вас один из архивных тарифов, то наверняка Вы уже в курсе того, что в 2023 году планируется прекратить их поддержку. Если нет, то сейчас самое время чтобы об этом пог...
В прошлой статье мы рассказывали про защиту учетной записи при помощи двухфакторной аутентификации. Использование дополнительного требования для успешного прохождения аутентификации позволяет повысить...
Решения для больших компаний обычно должны выдерживать высокие нагрузки. Когда в штате много десятков тысяч человек, и значительная доля из них ежедневно пользуются ...
Ранее в одном из наших КП добавление задач обрабатывалось бизнес-процессами, сейчас задач стало столько, что бизнес-процессы стали неуместны, и понадобился инструмент для массовой заливки задач на КП.
С февральского Love Kubernetes прошла, нам кажется, вечность. Немного скрасило разлуку только то, что мы успели войти в Cloud Native Computing Foundation, сертифицировать наш дистрибутив Kube...