Principios de programación SOLID

En el diseño y desarrollo de software el paradigma de la programación orientada a objetos (POO) es el paradigma más utilizado a la hora de desarrollar software.

En la programación orientada a objetos podemos dividir un programa en muchas entidades con propiedades y funciones que se relacionan entre ellas.

La persona encargada de codificar cada una de estas clases y relaciones tiene total libertad a la hora de definir quién, cómo y dónde se resuelve cada mini problema.

Esta libertad de codificación facilita la resolución de los problemas que debe resolver una aplicación pero cuando el proyecto es grande la complejidad en el mantenimiento y ampliación de una aplicación crece notablemente haciendo muy dificultoso utilizar programación orientada a objetos de forma libre en proyectos de gran envergadura. 

Esto se debe a que las clases encargadas de un problema se vuelve demasiado grandes y las relaciones y dependencias entre clases cada vez son más complejas.

Principios para mantener el orden en nuestro código

A principios de la década de los 2000 Robert C. Martin propuso una metodología de codificación basada en 5 principios.

Tomando la primera letra de cada uno de esos principios sale el nombre de esta metodología que conocemos por principios SOLID.

Estos principios son:

  • S: Single responsibility principle o Principio de responsabilidad única
  • O: Open/closed principle o Principio de abierto/cerrado
  • L: Liskov substitution principle o Principio de sustitución de Liskov
  • I: Interface segregation principle o Principio de segregación de la interfaz
  • D: Dependency inversion principle o Principio de inversión de dependencia

Razones para utilizar SOLID

Aplicando estos principios a la hora de codificar un proyecto software mejorará su legibilidad y su mantenimiento tanto por desarrolladores individuales como por equipos de desarrollo.

En la industria actual del software el trabajo en equipo es algo imprescindible para un buen profesional y saber codificar un proyecto para que tenga un buen nivel de mantenimiento para incorporar nuevas características o localizar y resolver problemas en el código es una habilidad muy solicitada por los equipos de desarrollo de software. 

Veremos cada uno de estos principios en futuros artículos publicados en este blog.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.