Some of the SOLID principles are quite easy to understand and their benefits are quite explanatory: The Single responsibility principles, for example, has an obvious one. Software entities do only one thing each. It becomes really easy to know what a bit of code does, even in the middle of a huge application, because it does one thing.
On the other hand, the Open/Closed principle is a bit more abstract.
While suggesting to my boss that we could implement some pattern at some place in our app, I proudly said that this would be more respectful to the Open/Closed principle, thus better.
He asked why «adding classes» would be better than «editing method», since we would still be making changes; and that adding classes would make our app grow faster, which would then make it maybe even less maintainable.
To be honest, I was not expecting that. And I realized I could justify interests of most programming principles I know, but not «adding classes» over «changing method», as both were «adding code» in a way.
How would you describe benefits of trying to apply the Open/Closed principle ? Do you think I misunderstood it?
In general, except «it's more maintainable so we will avoid expenses in the long run», what are your justifications when it comes to implementing some pattern / anything related to programming principles (especially to tech pairs / mostly if it's a lead/CTO/anyone tech and higher than you in your company hierarchy) ?