¿Qué es un software reutilizable en C ++?

En la práctica, esto significa que diseñamos software de manera que nos permita escribir el código para alguna funcionalidad particular exactamente una vez.

Por ejemplo, si escribe una clase Animal y tiene un método de impresión que imprime su edad y peso, puede derivar una clase Perro de Animal que reutiliza la mayor parte del código de Animal. Luego, el método de impresión del perro solo necesita manejar la información única del perro, ya que puede llamar a Animal :: print () al comienzo del método Dog :: print () (es decir, antes de implementar cualquier información exclusiva del perro, como la raza.

De esta manera, cualquier cambio que realice en la forma en que Animal imprime se transfiere automáticamente a todas las clases que heredan de Animal.

En general, esta metodología nos protege de errores oscuros, donde cambiamos algo en una parte del código pero olvidamos cambiarlo en otros lugares.

Un segundo principio del código reutilizable es la modularidad, es decir, el desacoplamiento de la información y la funcionalidad. Por ejemplo, puede escribir un fragmento de código que realice una integral numérica sobre una malla que creó para su problema. Si estas dos piezas están acopladas (el integrador y su malla), se ve obligado a usarlas siempre juntas, por lo que si necesita integrarse en una malla diferente, tendrá que volver a escribir la mayor parte del integrador. En cambio, podría escribir su integrador original de modo que acepte una malla como entrada en una variedad de formatos, lo transforme en su propio formato interno y luego realice la integración. ¡Ahora tiene un integrador numérico que puede reutilizar con cualquier malla!

El término ‘reutilizable’ es exactamente lo que dice en la lata; Significa que puede reutilizarse de múltiples maneras en el mismo programa.

Un buen ejemplo de software reutilizable en C ++ es la Biblioteca de plantillas estándar, que le proporciona un conjunto de código que ya está escrito y que puede usar donde lo necesite dentro de su aplicación. Estás reutilizando el código que alguien más ha escrito.