Principio Abierto-Cerrado

Samuel Martín

 

Este es el segundo tutorial de la batería de tutoriales S.O.L.I.D. El principio Abierto-Cerrado es probablemente el más fácil de aplicar de los 5. Bertrand Meyer es el responsable de acuñar el término open/closed principle en su libro “Object Oriented Software Construction” de 1988 aunque fue popularizado junto con los otros principios del acrónimo SOLID por Martin Fowler una década más tarde.

La definición de OCP es: Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification. La idea de este principio es que las clases están abiertas a la extensión pero cerradas a la modificación, lo que significa que ante peticiones de cambio en nuestro programa, hay que ser capaces de añadir funcionalidad sin modificar la existente (siempre que sea posible).

La forma más común de seguir el principio OCP es usar interfaces o clases abstractas de las que dependen implementaciones concretas. De esta forma puede cambiarse la implementación de la clase concreta manteniéndose la interfaz intacta.

Seguir este principio ayuda a que nuestros sistemas sean más mantenibles en el tiempo y soporten mejor los cambios, aunque ante todo hay que usar el sentido común. Un uso excesivo de interfaces reducirá la productividad y la legibilidad del código. Espero que a los que no conocierais este principio os haya parecido interesante este concepto y os ayude a mejorar vuestra forma de programar.

Principio Abierto-Cerrado

By samuelmartin1988

Principio Abierto-Cerrado

  • 1,008