¿Qué es el principio abierto-cerrado?
El principio abierto-cerrado (OCP) es la piedra angular del diseño reutilizable en el diseño orientado a objetos. "Abierto" en OCP significa que la expansión de las funciones de los componentes es abierta y permite la expansión de las funciones. El principio "cerrado" significa que las modificaciones del código original están cerradas, es decir, el código original no debe modificarse.
La clave para realizar el principio abierto/cerrado radica en la "abstracción". Los comportamientos del sistema se abstraen como una única base abstracta que especifica las características de todos los métodos que una implementación concreta debe proporcionar.
Los módulos diseñados según el principio abierto/cerrado tienen dos características principales:
1. Abierto para extensión. Esto significa que cuando las necesidades de la aplicación cambian, podemos extender el módulo para que tenga nuevos comportamientos que satisfagan esos cambios.
2. El módulo no requiere cambios en el código fuente o el código binario del módulo. No es necesario cambiar la versión ejecutable binaria del módulo, ya sea una biblioteca enlazable, un archivo DLL o EXE.