Если вы интересуетесь разработкой программного обеспечения, вы, вероятно, слышали о принципах SOLID. Это пять основополагающих принципов объектно-ориентированного программирования, которые помогают создавать гибкие, масштабируемые и поддерживаемые системы. Сегодня мы рассмотрим второй принцип — Принцип Открытости/Закрытости (Open/Closed Principle, OCP). Определение OCP: Программные сущности (классы, модули, функции и т.д.) должны быть открыты для расширения, но закрыты для изменения. Это означает, что вы должны иметь возможность расширять поведение системы, не изменяя существующий код...