SOLID (principios de diseño de software)

SOLID es un acrónimo mnemónico de un conjunto de principios de diseño creados para el desarrollo de software en lenguajes orientados a objetos.

Los principios de SOLID están destinados a fomentar un código más simple, más robusto y actualizable de los desarrolladores de software. Cada letra en SOLID corresponde a un principio de desarrollo:

  • Sresponsabilidad única
  • Obolígrafo / cerrado
  • Lsustitución de iskov
  • Isegregación de interfaces
  • Dinversión de dependencia

El SEl principio de responsabilidad única, creado por Robert C. Martin, establece que una clase debe tener una, y sólo una, razón para cambiar. Este principio asegura que cualquier clase debe tener una sola función, para ayudar a facilitar la actualización y limitar las posibles complicaciones por cambios futuros. El principio se puede aplicar a componentes de software o herramientas de microservicios.

El OEl principio de pluma / cerrado asegura que las entidades de software estén abiertas a la extensión pero cerradas para modificaciones. A Bertrand Meyer se le atribuye principalmente la creación de este principio, que se centra en hacer que las habilidades de una clase sean fáciles de mejorar por extensión, pero evita posibles complicaciones que podrían surgir al modificar la entidad y afectar las dependencias de otras funciones que dependen de ella.

El LEl principio de iskov estipula que los objetos del mismo tipo pueden ser reemplazados por otros de esta misma categoría sin alterar la función del programa. Creado por Barabara Liskov, este principio asegura que se pueda cambiar a medios más efectivos para realizar una tarea sin afectar indebidamente el programa o requerir actualizaciones sustanciales de código.

El IEl principio de segregación de interfaces estipula que las interfaces de la aplicación siempre deben mantenerse más pequeñas y separadas entre sí. Este principio asegura que los clientes solo necesitan familiarizarse con la funcionalidad de los métodos o interfaces que se utilizan, para que puedan actualizarse respectivamente sin que uno complique al otro. Esta separación hecha por capas de abstracción proporciona espacio para documentar la funcionalidad al tiempo que evita el acoplamiento de dependencias en el código.

El DEl principio de inversión de dependencias especifica una forma de desacoplar dependencias en el código. En la inversión de dependencia, las dependencias en el código de alto nivel que establecen las políticas se invierten en los módulos de dependencia de bajo nivel. Esto separa el código de alto nivel de los detalles de los módulos de bajo nivel.

Principios de diseño de software SOLID

Si bien las ideas para los principios SOLID fueron desarrolladas en 1995 por Robert C. Martin, coautor del Manifiesto Ágil, el acrónimo fue acuñado por Michael Feathers a principios de la década de 2000 como una forma de recordar los conceptos. Otras metodologías de desarrollo de software populares incluyen Agile, el principio KISS, GRASP (Principios de software de asignación de responsabilidad general) y el principio DRY.