0% encontró este documento útil (0 votos)
347 vistas10 páginas

Principios SOLID

El documento presenta los principios SOLID, un conjunto de cinco directrices para el diseño de software promovidas por Robert C. Martin, que buscan facilitar la comprensión, mantenimiento y extensión del código. Cada principio, que incluye SRP, OCP, LSP, ISP y DIP, aborda aspectos específicos de la programación orientada a objetos para evitar la creación de código frágil y difícil de escalar. Se proporciona un ejemplo práctico que ilustra la integración de estos principios en un contexto de desarrollo de software.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
347 vistas10 páginas

Principios SOLID

El documento presenta los principios SOLID, un conjunto de cinco directrices para el diseño de software promovidas por Robert C. Martin, que buscan facilitar la comprensión, mantenimiento y extensión del código. Cada principio, que incluye SRP, OCP, LSP, ISP y DIP, aborda aspectos específicos de la programación orientada a objetos para evitar la creación de código frágil y difícil de escalar. Se proporciona un ejemplo práctico que ilustra la integración de estos principios en un contexto de desarrollo de software.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Jonaifry Rodriguez De Jesus

2024-0082

Principios SOLID

Programacion orientada a objetos

Luis Soto

10/28/2024
Origen y significado de SOLID
El acrónimo SOLID se originó a partir de los primeros principios de diseño de software
promovidos por Robert C. Martin, también conocido como ‘Uncle Bob’. Estos principios son
una guía para escribir software que sea fácil de entender, mantener y extender. El término
SOLID engloba cinco principios fundamentales:

• Single Responsibility Principle (SRP)

• Open/Closed Principle (OCP)

• Liskov Substitution Principle (LSP)

• Interface Segregation Principle (ISP)


• Dependency Inversion Principle (DIP)

Importancia de SOLID en el desarrollo de software


Los principios SOLID ayudan a desarrollar código que es modular y adaptable al cambio, lo
que permite una evolución continua y simplifica la localización de errores. Siguiendo estos
principios, los desarrolladores pueden reducir el riesgo de crear código "frágil", difícil de
escalar o propenso a fallos al realizar cambios.

2
Principios SOLID
1. Single Responsibility Principle (SRP)

Cada clase o módulo debe tener una única razón para cambiar, lo que significa que debe
cumplir solo una responsabilidad. Este principio simplifica la estructura de una clase y
permite localizar problemas en responsabilidades específicas.

Ejemplo

3
2. Open/Closed Principle (OCP)
Las clases deben estar abiertas para su extensión, pero cerradas para su modificación, lo que
significa que debemos poder añadir nuevas funcionalidades sin cambiar el código existente.

Ejemplo:

3
3. Liskov Substitution Principle (LSP)
Las subclases deben ser intercambiables por sus superclases sin alterar el comportamiento
del programa. Esto implica que las subclases deben mantener la misma lógica de sus clases
base.

Ejemplo:

4
4
4. Interface Segregation Principle (ISP)
Una clase no debe estar forzada a implementar interfaces que no utiliza. Es preferible dividir
una interfaz grande en interfaces más pequeñas y específicas para cada grupo de
funcionalidades.

Ejemplo:

5
5. Dependency Inversion Principle (DIP)
Los módulos de alto nivel no deben depender de módulos de bajo nivel, sino que ambos
deben depender de abstracciones. Además, las abstracciones no deben depender de los
detalles, sino los detalles de las abstracciones.

Ejemplo:

6
Ejemplo práctico integrando los principios SOLID

Aquí aplicamos:

1. SRP: Order solo gestiona información del pedido; IPaymentProcessor gestiona el


pago.

2. OCP: Podemos crear nuevos métodos de pago sin modificar Order.

3. LSP: CreditCardPaymentProcessor es intercambiable por cualquier otro


IPaymentProcessor.

7
4. ISP: Las interfaces son específicas y no obligan a los objetos a implementar métodos
innecesarios.

5. DIP: Order depende de IPaymentProcessor, una abstracción, en lugar de una clase


concreta.

También podría gustarte