¿Qué son los principios SOLID?

Son cinco reglas que se usan como base para escribir código de calidad y fácilmente mantenible en programación orientada a objetos. El término lo acuñó el gran Robert Cecil Martin (también conocido como Uncle Bob).

Si sigues estos cinco principios tu software debería poder mantenerse y ampliarse de forma mucho más rápida y sencilla. Es muy recomendable conocerlos si quieres ser un buen desarrollador (y usas programación orientada a objetos). Además, queda bien ponerlo en el curriculum y puede que hasta te paguen más. Se rumorea que hasta se liga más si dices que usas SOLID pero no está 100% demostrado.


¿Sabes lo que es el reto de PHP?

He creado el PHP Journey, una plataforma para que recibas de forma gratuita un email cada día con una pequeña perla de sabiduría de PHP y una pregunta que deberás responder.

Cada día pones a prueba tus conocimientos y aprendes algo nuevo.

Apúntate aquí:

https://urlantools.urlanheat.com/newsletter/php-journey/subscribe


SOLID es un acrónimo y cada letra se refiere a uno de los principios (te pongo las traducciones en lugar de sus nombres en inglés):

  • S (Single responsibility principle / Acrónimo SRP) – Principio de responsabilidad única. Cada clase debe tener una única razón para cambiar (o lo que es lo mismo debe hacer una única cosa). Nada de clases para todo.
  • O (Open/closed principle / Acrónimo OCP) – Principio de cerrado/abierto. Una clase debe poder ampliarse sin modificarla. Parece magia pero no.
  • L (Liskov substitution principle / Acrónimo: LSP) – Principio de sustitución de Liskov. Una clase puede sustituirse por una subclase y el programa debe seguir funcionando. Este principio lo introdujo Bárbara Liskov, que era (y es) una cerebrito.
  • I (Interface segregation principle / Acrónimo ISP) – Principio de segregación de los interfaces. No intentes usar un interface o una clase abstracta para todo.
  • D (Dependency inversion principle / Acrónimo DIP) – Principio de inversión de dependencias. Mejor usar muchos interfaces y clases abstractas. Y los interfaces deben definirlos las clases de nivel más alto. Vamos, que donde manda capitán no manda marinero.

En mi próximo libro Aliens contra Elefantes / Buenas prácticas en PHP hablaré, entre otras cosas, de los principios SOLID ¡No te lo pierdas!

Deja un comentario