SOLID принципы: OCP (Открытости/закрытости (Open Closed Principle)

Программные сущности (модули, классы, функции и т.д.) должны быть открыты для расширения, но закрыты для изменения (Бертранд Мэер)

  • «Открыты для расширения», означает, что любой класс, метод, блок программного кода должен быть открыт для добавления нового функционала
  • «Закрыты для изменения»: для добавления нового функционала в сущность, не должны вноситься изменения в код, который эту сущность использует.

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

Как это осуществить. После того как вы написали Класс, вешаем на него «замочек». Далее код в нем изменяется только при bugfix-ах. Для расширения функционала мы используем наследование. Желательн имплементировать интерфейс.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *