Полностью звучит как Don’t Repeat Yourself и означает, что не стоит повторять себя. Если один и тот же код реализовать в разных местах, то их оба придётся поддерживать и помнить о существовании повторения. Поэтому не должно быть повторения и нужно выделять повторяющиеся блоки в отдельные функции или библиотеки.
С переходом на микро сервисы этот принцип уже не такой жёсткий и его уже разрешают нарушать. Дело в том, что у микросервисов должно быть меньше зависимостей и чтобы избежать необходимости обновлять библиотеки при их изменении, допускается копирование кода. Да, мы возвращаемся к оригинальной проблеме – придётся поддерживать несколько реализаций в разных сервисах, но в таких случаях если что-то работает, то не трогают, а обновляют только при необходимости.
Для монолитов этот принцип всё ещё важный. В случае микро сервисов – я бы сказал, что они также важны, хотя и допускаю вариант с копированием.
Вернуться к словарю ИТшника