Принцип открытости/закрытости (Open-Closed) в SOLID гласит, что программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения. 13
Это означает, что к существующим классам или модулям можно добавлять новые функции или поведение без изменения их исходного кода. 1
Например, если есть класс Shape с методом draw, то при добавлении новой формы не нужно изменять класс Shape. 1 Вместо этого можно создать новый класс (например, Circle), который наследует от Shape и реализует метод draw. 1
Принцип открытости/закрытости обеспечивает гибкость и стабильность программного кода. 5 Такой подход запрещает изменять уже опробованный и протестированный код, а значит, он не ломается. 4