Está en la página 1de 8

Concepto

Principio SOLID

Para lograr un software funcional y de calidad, se requiere de una baja compilación, alta cohesión,
y una fuerte encapsulación. Por tal motivo, Robert C. Martin estableció 5 principios para la
realización de programas legibles y mantenibles. Estos se encuentran relacionados a patrones de
diseño.

El acrónimo SOLID, significa

S: Single responsability principle

Una clase o componente, debe ser responsable de una sola tarea.

O: Open/Closed Principle

Las entidades (clases, módulos y funciones), deben ser abiertos para su extensión,
pero cerrados para su modificación.

L: Liskov substitution principle

Una clase debe ser sustituible por su superclase, puesto que se estaría usando una
jerarquía fácil de entender y de código reutilizable

I: Interface segregation principle

No obligar a otras clases implementadas una interfaz, usar métodos que no


requiera.

D: Dependency inversion principle

Las dependencias deben estar en las abstracciones, es decir:

Los módulos de alto nivel no deben depender de módulos de bajo nivel.

Las abstracciones no dependen de destalles, sino los detalles deben


depender de abstracciones.

El objetivo de SOLID, radica en facilitar la tarea de desarrollo, y mantenimiento de trabajo, tanto


propio como ajeno. Así mismo, crear e implementar nuevas funcionalidades sin tener que
modificar en gran medida el código original.

Las ventajas de su aplicación son:

Mantenimiento del código de manera más fácil y rápida

Añadir funcionalidades de manera sencilla

Favorece la reusabilidad y calidad del código

Elimina las malas practicas

Ejemplo
Texto-Problema

UML

Single responsability principle - Open/Closed Principle

L: Liskov substitution principle

I: Interface segregation principle


D: Dependency inversion principle

Código

Single responsability principle - Open/Closed Principle


L: Liskov substitution principle
I: Interface segregation principle
D: Dependency inversion principle
Pantalla-Corrida

Single responsability principle - Open/Closed Principle

L: Liskov substitution principle

I: Interface segregation principle

D: Dependency inversion principle


Bibliografía

https://enmilocalfunciona.io/principios-solid/

https://www.genbeta.com/desarrollo/solid-cinco-principios-basicos-de-diseno-de-clases

https://apiumhub.com/es/tech-blog-barcelona/principios-solid/

También podría gustarte