Principios SOLID
Principios SOLID
Principios SOLID
Luis Aimacaña
Danny Colimba
Doménica Erazo
Marvin Salcedo
Introducción
Michael
Feathers SOLID: acrónimo acuñado por Michael Feathers,
basándose en los principios de la programación
orientada a objetos.
Los D – Dependency
Inversion
Principle (DIP)
O–
Open/Closed
Principle (OCP)
principios
SOLID
I – Interface L – Liskov
Segregation Substitution
Principle (ISP) Principle (LSP)
S
Es el Single Responsibility Principle, también
conocido por sus propias siglas en inglés SRP.
Responsabilidad ➔ Definida
Única ➔ Concreta
Definir la responsabilidad única de una clase no es
una tarea fácil, será necesario un análisis previo de
las funcionalidades y cómo estructuramos la
aplicación.
Tips para saber si no estamos cumpliendo con este principio
Las ventajas que nos ofrece diseñar el código aplicando este principio
fallando este
interfaz en varias pequeñas para que cuando las
clases la implementen no queden funciones
vacías
principo?
El Principio de Segregación de Interfaces ayuda a poder crear nuestra arquitectura utilizando la
composición de protocolos o interfaces, evitando así los Fat Interfaces que en la mayoría de los
casos obligan a dejar métodos vacíos o lanzar errores en aquellos métodos que no tiene sentido
implementar.
D Inversión de
Dependencias
““Depende de abstracciones, no de clases concretas”.”
De este modo:
● Boton depende únicamente de abstracciones, puede ser reusado en varias clases que
implementen Conmutable. Por ejemplo, Lavadora o Ventilador
● Cambios en Lampara no afectarán a Boton.
● ¡Las dependencias han sido invertidas! ahora Lampara tiene que adaptarse a la
interfaz definida por Boton. Lo cual tiene sentido, ya que la idea fundamental es que
lo más importante no dependa de lo menos importante.
Conclusiones
● Aplicar los principios de SOLID nos permitirá crear
software más ordenado, limpio y fácil de mantener
● En sistemas cuyo tamaño se considera grande, y
donde existen muchos módulos, librerías y
funciones, contar con estos principios no solo
ayudará en el mantenimiento, también a crecer el
código de manera más eficiente y limpia.
● Los principios SOLID son buenas prácticas, no son
leyes ni reglas.
● Funcionan en muchos casos, pero no hay pruebas
de que siempre funcionen ni de que siempre se
deban seguir.
Referencias
(2022). Retrieved 19 January 2022, from https://repositorio.grial.eu/bitstream/grial/355/1/Liskov.pdf
Principio de sustitución de Liskov (SOLID 3ª parte). (2016). Retrieved 19 January 2022, from
https://devexperto.com/principio-de-sustitucion-de-liskov/
Principio de segregación de interfaces (SOLID 4ª parte). (2016). Retrieved 19 January 2022, from
https://devexperto.com/principio-de-segregacion-de-interfaces/
[S.O.L.I.D.] Open-Closed Principle / Principio Abierto-Cerrado - Adictos al trabajo. (2014). Retrieved 20 January
2022, from https://www.adictosaltrabajo.com/2014/10/23/solid-2/
▷ Guía definitiva de Principios SOLID - Explicados con Laravel. (2019). Retrieved 20 January 2022, from
https://www.laraveltip.com/guia-definitiva-de-principios-solid-explicados-con-laravel/#Conclusion
SOLID: los 5 principios que te ayudarán a desarrollar software de calidad. (2022). Retrieved 20 January 2022,
from https://profile.es/blog/principios-solid-desarrollo-software-calidad/
Machillanda, J. (2020). SOLID: Principio de Inversión de Dependencias. Retrieved 20 January 2022, from
https://somospnt.com/blog/147-solid-principio-de-inversion-de-dependencias