¿Qué es SOLID?
Una breve (muuy breve) introducción a los 5 primeros principios del diseño orientado a objetos. Escribe código limpio, fácil de mantener y extender.
Introducción
Los principales lenguajes modernos de programación están influenciados por el paradigma orientado a objetos. Pero, ¿qué es el diseño orientado a objetos? ¿Cuáles son sus ventajas y desventajas?
Comúnmente los desarrolladores no podemos contestar estas preguntas ni tenemos presentes los principios que constituyen la base de las disciplinas de las que derivaron nuestros lenguajes de programación.
Podríamos afirmar que virtualmente todos los desarrolladores de software utilizan algún tipo de lenguaje orientado a objetos. Sin embargo, la mayoría, usamos estos lenguajes sin saber por qué, y sin saber cómo obtener el mayor beneficio del diseño orientado a objetos.
¿Qué es SOLID?
SOLID es un acrónimo para los primeros 5 de 11 principios del diseño orientado a objetos que exponen el manejo de dependencias, presentados por Robert C. Martin, también conocido como “Uncle Bob”.
Los primeros 5 principios del diseño orientado a objetos se refieren al diseño de clases.
SINGLE RESPONSIBILITY PRINCIPLE | Principio de responsabilidad única | "Una clase debe tener una, y solo una, razón para cambiar" |
OPEN CLOSED PRINCIPLE | Principio de abierto/cerrado | "Debes ser capaz de extender el comportamiento de una clase sin modificarla" |
LISKOV SUBSTITUTION PRINCIPLE | Principio de sustitución de Liskov | "Las clases derivadas deben ser sustituibles por sus clases base" |
INTERFACE SEGREGATION PRINCIPLE | Principio de segregación de interfaces | "Diseña interfaces pequeñas que sean especificas del cliente" |
DEPENDENCY INVERSION PRINCIPLE | Principio de inversión de dependencias | "Depende de abstracciones, no de concreciones" |
Apegarse a los principios SOLID, nos facilita a los desarrolladores escribir software fácil de mantener y extender. También nos ayuda a prevenir malas prácticas, a facilitar refactorización de código y también fomenta el desarrollo ágil de software.
En los siguientes posts exploraremos cada uno de los 5 principios SOLID para presentar los beneficios que brindan y ayudar a identificar las áreas de oportunidad para implementarlos, así como tomar en cuenta el posible costo de aumentar complejidad a nuestro código contra el beneficio de tener código más apegado a estos principios.
En resumen, aplicar los principios solid de manera adecuada nos permite tener código limpio, que se traduce en sistemas más flexibles y estables.
¡Hasta la próxima amigos!
Fuentes
- Pluralsight. “SOLID Principles of Object Oriented Design”. https://app.pluralsight.com/library/courses/principles-oo-design/table-of-contents
- butUncleBob.com. “The principles of OOD”. http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Créditos
- Elementos de diseño en el banner. Designed by rawpixel.com / Freepik