Open-Closed Principle
From JholJhapata
The open/closed principle states "software entities should be open for extension, but closed for modification".
Open for extension means that we should be able to add new features or components to the application without breaking existing code.
Closed for modification means that we should not introduce breaking changes to existing functionality.