Open-closed principle

up:: SOLID “Open for extension, but closed for modification”.

“Extension”: Using Inheritance. “Modification”: Never change the way an existing function works.

Don’t write seven different filters for each combination. But write your code in a modular way.