Skip to content

Instantly share code, notes, and snippets.

@arturlector
Last active November 16, 2020 22:54
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save arturlector/bb53805be1b988bc9237 to your computer and use it in GitHub Desktop.
Save arturlector/bb53805be1b988bc9237 to your computer and use it in GitHub Desktop.
Что такое SOLID принципы?

Что такое SOLID принципы?

S - Single responsibility principle - Принцип единственной обязанности:

На каждый класс должна быть возложена одна-единственная обязанность.

O - Open/closed principle - Принцип открытости/закрытости:

Программные сущности должны быть открыты для расширения, но закрыты для изменения.

L - Liskov substitution principle - Принцип подстановки Барбары Лисков:

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

I - Interface segregation principle - Принцип разделения интерфейса:

Много специализированных интерфейсов лучше, чем один универсальный.

D - Dependency inversion principle - Принцип инверсии зависимостей:

Зависимости внутри системы строятся на основе абстракций. 
Модули верхнего уровня не зависят от модулей нижнего уровня.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment