Полностью звучит как Don’t Repeat Yourself и означает, что не стоит повторять себя. Если один и тот же код реализовать в разных местах, то их оба придётся поддерживать и помнить о существовании повторения. Поэтому не должно быть повторения и нужно выделять повторяющиеся блоки в отдельные функции или библиотеки.
С переходом на микро сервисы этот принцип уже не такой жёсткий и его уже разрешают нарушать. Дело в том, что у микросервисов должно быть меньше зависимостей и чтобы избежать необходимости обновлять библиотеки при их изменении, допускается копирование кода. Да, мы возвращаемся к оригинальной проблеме – придётся поддерживать несколько реализаций в разных сервисах, но в таких случаях если что-то работает, то не трогают, а обновляют только при необходимости.
Для монолитов этот принцип всё ещё важный. В случае микро сервисов – я бы сказал, что они также важны, хотя и допускаю вариант с копированием.
Interface Segregation Principle переводится как Принцип разделения интерфейса. Это четвёртая буква в аббревиатуре SOLID. Подробнее читаем здесь Принцип разделения интерфейса.
В случае с программированием это сокращение означает Interface Segregation Principle или Принцип разделения интерфейса. Это четвёртая буква в аббревиатуре SOLID. Подробнее читаем здесь Принцип разделения интерфейса.
Это сокращение, которое расшифровывается как Keep it simple, stupid!, что дословно переводим как Делай проще, тупица. Этот принцип призывает писать код как можно проще. Этот принцип относится не только к программированию. Фраза ассоциируется с авиаконструктором Кларенсом Джонсоном.
В качестве вариаций расшифровки использовались: «keep it super simple», «keep it simple, silly», «keep it short and simple», «keep it short and sweet», «keep it simple and straightforward», «keep it small and simple», «keep it simple, soldier», «keep it simple, sailor», «keep it simple, sweetie», «keep it stupidly simple» и «keep it sweet and simple». В ИТ всё же используется вариант с Keep it simple, stupid!
Этот принцип лучше всего иллюстрируется историей, когда Джонсон вручил команде инженеров-авиаконструкторов набор инструментов, поставив им условие: механик среднего уровня должен суметь отремонтировать реактивный самолёт, который они проектировали, в полевых условиях только с этими инструментами. Таким образом, «stupid» относится к отношению между тем, что всё ломается, и сложностью необходимого для этого ремонта.
Это Принцип замещения Лисков, поэтому подробнее читаем про него здесь.
Это Liskov Substitution Principle или Принцип замещения Лисков, поэтому подробнее читаем про него здесь.
Multi-factor authentication или Многофакторная аутентификация. Более подробно читаем в Многофакторная аутентификация.
Open/Closed Principle или Принцип открытости/закрытости. Более подробно читаем про этот принцип в Open Closed Principle
OCP или Принцип открытости/закрытости является частью сокращения SOLID, это вторая буква в этом сокращении.
Принцип открытости/закрытости означает, что программные сущности должны быть:
- открыты для расширения: означает, что поведение сущности может быть расширено путём создания новых типов сущностей.
- закрыты для изменения: в результате расширения поведения сущности, не должны вноситься изменения в код, который эту сущность использует.
Один из принципов SOLID и это первая буква S в этом сокращении, а переводится как Принцип единой ответственности. Один из спорных принципов, потому что его объяснение менялось. Изначально Боб Мартин (дядюшка Боб) дал такое поредение:
A class should have one, and only one, reason to change (Класс должен иметь лишь одну причину для изменений)
И вот тут каждый начал воспринимать такое расплывчатое заявление по-разному.
Чуть позже дядя Боб дал уже немного другое объяснение:
A module should be responsible to one, and only one, actor (Модуль должен отвечать перед одним и только одним актором)
Есть и другие попытки объяснить принцип, потому что он стал очень популярен благодаря сокращению SOLID и вообще доверию к дядюшке Бобу, но каждое объяснение или попытку определить этот принцип не делало картину чище.