# Принцип программирования DRY

Принцип программирования DRY (англ. Don’t repeat yourself, в переводе Не повторяй себя) предполагает разделение крупной системы, например, разработанного вами ПО на более мелкие, неповторяющиеся компоненты. Если у вас есть несколько компонентов, выполняющих одни и те же задачи, то согласно принципу DRY следует сократить их количество, в идеале, чтобы каждый компонент не повторялся.

После того, как систему разделили на компоненты, отвечающие за исполнение четко определенных задач, их можно организовать в классы, что называется модульной архитектурой.

Для правильного построения системы по принципу DRY необходимо придерживаться следующих правил:

- Прежде чем приступить к работе над проектом представьте его в виде графической схемы, разделенной на визуальные компоненты.
- При работе над сложным компонентом проекта, его также следует представить графически в виде диаграммы UML или подобных средств.
- В графической схеме следует четко указать иерархию и роль каждого компонента проекта.
- Также в схеме следует указать связь ваших компонентов с компонентами других участников проекта, а также какие ветки проекта будет общими (public) или приватными (private).
- Необходимо избегать жестких связей между компонентами, поскольку они негативно влияют на эффективность всей архитектуры проекта.

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

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

← →
↑