El concepto central del principio abierto-cerrado
La idea central del principio abierto-cerrado es que las entidades de software se pueden ampliar, pero no modificar. En otras palabras, está abierto a la extensión y cerrado a la modificación. Por lo tanto, el principio abierto-cerrado se refleja principalmente en la apertura a la extensión, es decir, cuando surgen nuevos requisitos o cambios, el código existente se puede ampliar para adaptarse a la nueva situación, es decir, una vez que la clase; está diseñado, puede completar el trabajo de forma independiente.
La idea básica de implementar el principio abierto-cerrado es programar abstracciones en lugar de concretas, porque las abstracciones son relativamente estables. Deje que la clase dependa de una abstracción fija, por lo que está cerrada y no permite modificaciones a través de mecanismos de depolimorfismo y herencia orientada a objetos, puede heredar el cuerpo abstracto, cambiar el comportamiento intrínseco anulando sus métodos y lograr una nueva extensión del. método, por lo que es abierto y se puede ampliar.
Extensiones:
Sugerencias para implementar reglas de apertura y cierre
1. El principio de apertura y cierre es el principio de diseño más importante, el principio de sustitución de Liskov y la composición. reutilización de agregación El principio proporciona garantía para la realización del principio de apertura y cierre.
2. Se puede reconstruir mediante el patrón del método de plantilla y el patrón de estrategia para lograr un concepto de diseño cerrado, modificable, abierto y extensible.
3. Encapsular cambios es un medio importante para implementar el principio abierto y cerrado. Los estados que cambian con frecuencia generalmente se encapsulan en estados abstractos, como la interfaz IBankProcess en el negocio bancario.
4. Negarse a abusar de la abstracción y abstraer únicamente las partes que cambian con frecuencia. Esta experiencia se puede obtener a partir del aprendizaje y la aplicación de patrones de diseño.
Enciclopedia Baidu: principio abierto-cerrado