The general idea of the open-closed principle is essential to Object Oriented Programming, and it has hints of Aristotelian philosophy of nature behind it.

The general idea is that a Noun in our software, whether it be an object or a service, is more fundamental than its behaviour or parts. It resists “top-down” imposition of order onto objects, like switch cases.