Au sein de la programmation orientée objet, le principe « Ouvert/Fermé » est le deuxième principe de SOLID, et s'applique aux différents concepts manipulés : Assembly, Class, Method. Selon la définition de Bertrand Meyer :
« Software entities should be open for extension, but closed for modification ».