Principios SOLID para diseño y desarrollo de software

Los Principios SOLID son como el vino. A medida que pasa el tiempo mejoran o se redescubren. Creados por Robert C. Martin, apoyado en los hombros de otros titanes, los 5 mandamientos que conforman los Principios SOLID garantizan un código de calidad.

Qué son los Principios SOLID

Acuñados por Robert Cecil Martin (‘Tío Bob’), SOLID es el acrónimo de los primeros cinco conceptos de la Programación orientada a objetos (término que veremos más adelante en este artículo).

Los principios son los siguientes:

S – Single-Responsibility Principle

O – Open-Closed Principle

L – Liskov Substitution Principle

I – Interface Segregation Principle

D – Dependency Inversion Principle

Si bien todos se aplican en la práctica, analizaremos los dos primeros con mayor detalle. Y los tres restantes solo los mencionaremos. Si quieres conocerlos con más detalle, puedes leer nuestro artículo Por qué utilizar Principios SOLID  

Single-Responsibility Principle: Principio de responsabilidad única

El principio de responsabilidad única dicta que cada módulo es responsable de una sola cosa. Para crear programas y códigos claros, el principio de responsabilidad única significa que cada módulo controla una única opción.

Open-Closed Principle: Principio abierto-cerrado

Tu versión final del código probablemente incluya funciones principales. Cuando lo compartas, marca claramente las secciones del código que deben y no deben modificarse. El código abierto indica a los demás que esas secciones se pueden modificar sin interrumpir el programa, mientras que el código cerrado permite que los demás sepan qué partes no se pueden cambiar.

Liskov Substitution Principle: Sustitución de Liskov

El principio de sustitución de Liskov se relaciona con las variables que se definen en el código de la computadora. Y plantea que cada clase o subclase derivada debe ser sustituible por su clase padre. Más información en el artículo Por qué utilizar Principios SOLID

Interface Segregation Principle: Segregación de interfaz.

El principio de segregación de la interfaz ayuda a los desarrolladores a interactuar con los usuarios en función de la capacidad o el conocimiento del programa. 

Dependency Inversion Principle: Inversión de dependencia

El Principio de Inversión de Dependencia dicta que se debe separar la lógica de alto y bajo nivel para que los cambios en los módulos de bajo nivel no afecten las funciones superiores. Esta separación se logra mediante una abstracción, o interfaz, que no depende de los detalles.

Robert C Martin: las enseñanzas del Tío Bob

Los principios SOLID se originaron en un documento sobre principios y patrones de diseño publicado en 2000, en una colaboración entre Robert C. Martin y Michael Feathers.

Fue este último quien le señaló al Tío Bob, que al reordenar el listado de principios se producía el acrónimo SOLID. “Así surgió la palabra SOLID, resultó ser una buena marca y funcionó bastante bien”, dice Robert C. Martin en su ponencia SOLID Principles, disponible en Youtube.

En ese mismo video agrega una arqueología del término bastante iluminadora y generosa:

“Los principios son viejos y algunos son obra de otras personas. Por ejemplo, el principio abierto/cerrado y el principio de responsabilidad única son obra de Bertram Mayer.

Barbara Liskov creó el principio de sustitución. Aprendí otros principios a lo largo de los años y los reuní en este lote de principios que ahora llamamos SOLID”.

En sus palabras, el Tío Bob reafirma una constante en la historia de la computación: todo en informática se basa en el trabajo de otros.

 Programación orientada a objetos y Principios SOLID

La Programación orientada a objetos (POO) es un estilo de programación que se caracteriza por la identificación de clases de objetos estrechamente relacionados con los métodos (funciones) con los que están asociados.

Entre los pilares de la Programación orientada a objetos se encuentran conceptos como: abstracción, herencia, polimorfismo y encapsulamiento. Términos que abren un universo que escapa a los alcances de esta nota.

Lo que sí queremos dejarte en claro, es que como delineamos más arriba, SOLID son los primeros cinco principios del diseño de clases orientado a objetos que nos ayudan a comprender la necesidad de ciertos patrones de diseño y arquitectura de software en general.

Podríamos decir que a través de la Programación orientada a objetos diseñamos programas y los Principios SOLID los hacen escalables.

Si quieres saber más sobre este tema u otros relacionados al desarrollo de software o quieres desarrollar tu propio proyecto,  no dudes en contactarnos.

Artículos Relacionados

PWA: qué son y cuándo utilizarlas

Conoce qué es una PWA, sus ventajas y desventajas en comparación con apps nativas e híbridas y cuándo deberías utilizarlas.

06 Septiembre 2023

Explorando plugins de Chat GPT

Explorando plugins de Chat GPT podemos constatar que la Inteligencia Artificial (IA) es más que una novedad pasajera y que…

27 Julio 2023

Headless CMS: el paso evolutivo en la administración de contenidos

Headless CMS o sistemas de administración de contenido sin cabeza, son la respuesta de la industria a los cambios en…

29 Junio 2023

Imágenes IA: ¿sueño o pesadilla?

Las imágenes IA o imágenes generadas por IA, han revolucionado la industria el último año haciendo su aporte a la…

07 Junio 2023

Puntaje nacional para el simulador de becas de la USS

Eliecer Yévenes, director general de servicios digitales de la Universidad San Sebastián, evalúa con máximo puntaje al simulador de becas…

11 Mayo 2023

Ionic framework para aplicaciones móviles

Ionic framework es un popular SDK (software development kit) utilizado para el desarrollo de aplicaciones móviles híbridas, que en el…

04 Mayo 2023