Abierto para mejoras. Cerrado para roturas enero 20, 2025 CUPID desarrollo OCP open closse principle software software architecture SOLID +