АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python и фреймворки. Сегодня последний день для записи! Жми!
6 of 59 menu
Бесплатные курсы по Git. Начинаем, когда соберется 1000 желающих:) Жми для записи!

Принципы SOLID

Принципы объектно‑ориентированного программирования SOLID необходимы, при создании функционального, поддерживаемого длительное время ПО на основе объектно‑ориентированного программирования (ООП).

Основные принципы SOLID:

  • Единственная ответственность (англ. Single responsibility principle или SRP) - каждый объект имеет только одну ответственность (цель), которая в свою очередь должна быть представлена отдельным классом. К примеру, извлечение данных из базы и последующая их валидация должны иметь разные классы для того, чтобы эти два процесса не смешивались друг с другом.
  • Открытость / закрытость (англ. Open-closed principle или OCP) - классы должны быть открыты для изменения и дополнения новыми задачами и в то же время закрыты для изменения основного кода. Следовательно, в класс можно добавить другие модули и функции, но исходный код должен оставаться неизменным.
  • Замена Лисков (англ. Liskov substitution principle или LSP) - все созданные потомки должны сохранять и демонстрировать поведение (выполняемые задачи) их родителя.
  • Разделение интерфейса (англ. Interface segregation principle или LSP) - большие интерфейсы необходимо разделять на более мелкие и узконаправленные, чтобы не загружать пользователей лишней информацией.
  • Инверсия зависимостей (англ. Dependency inversion principle или DIP) - объекты верхних уровней, например, классы, не должны зависеть от модулей нижних уровней, однако все они должны зависеть от абстракций.

Смотрите также

  • принцип DRY,
    который разделение ПО на мелкие компоненты
  • принцип KISS,
    который предполагает отказ от усложнения ПО
  • принцип YAGNI,
    который предполагает отказ от избыточной функциональности ПО
  • принцип CQS,
    который задает для каждой функции только одну команду
  • принцип LoD,
    который применяется при разработке ПО
  • принцип разделения ответственности,
    который применяется при разработке ПО
enru