ПРИНЦИП ОТКРЫТОСТИ/ЗАКРЫТОСТИ (OPEN-CLOSED PRINCIPLE)
Программные сущности (классы, модули, функции и т.п.) должны
быть открыты для расширения, но закрыты для изменения. Достоинством применения такого подхода следующие: ● Не нужно пересматривать уже существующий код, не нужно менять уже готовые для него тесты при доработке проекта. ● Если нужно ввести какую-то дополнительную функциональность, то это не должно коснуться уже существующих классов или как-либо иначе повредить уже существующую функциональность.