Páginas

2 sept. 2012

Principios SOLID

Éste es el primero de una serie de cinco artículos sobre los que hablaré de los principios SOLID. No voy a reinventar la rueda ni a redefinirlos, una clara definición de los principios SOLID la podemos encontrar en wikipedia:
En ingeniería de software, SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) es un acronimo mnemónico introducido por Robert C. Martin1 a comienzos de la decada del 2000 que representa cinco principios básicos de la programación orientada a objetos y el diseño. Cuando estos principios se aplican en conjunto es más probable que un desarrollador cree un sistema que sea fácil de mantener y ampliar en el tiempo. Los principio SOLID son guías que pueden ser aplicadas en el desarrollo de software para eliminar código sucio provocando que el programador tenga que refactorizar el código fuente hasta que sea legible y extensible. Debe ser utilizado con el desarrollo guiado por pruebas o TDD, y forma parte de la estrategia global del desarrollo ágil de software y programación adaptativa.
Para mí ésta definición es perfectamente válida aunque se podría resumir diciendo que son cinco principios que hay que tener siempre presentes si queremos desarrollar un software de calidad, legible, entendible y fácilmente testeable.

Lo siguientes cinco artículos van enfocados a entender, uno por uno, estos cinco principios. La estructura de cada artículo es siempre la misma:

  1. Definición de Robert C. Martin sobre cada principio, en inglés.
  2. Traducción literal.
  3. Mi propia traducción o una breve explicación. 
  4. Un ejemplo que no cumple el principio y una explicación de por qué no lo cumple.
  5. Una solución a dicho ejemplo para que cumpla el principio.
Los cinco principios son:
Espero que estas explicaciones y los propios principios SOLID le sean útiles tanto a programadores newbies como a desarrolladores altamente experimentados y espero también comentarios y críticas de los lectores. 

Juan García Carmona

1 comentario:

  1. Muy interesante la publicación, se le agradece por el articulo que nos presento.

    ResponderEliminar