Principio de Responsabilidad Única en Programación Orientada a Objetos
Clase 5 de 16 • Curso de Principios SOLID en C# y .NET
Contenido del curso
Clase 5 de 16 • Curso de Principios SOLID en C# y .NET
Contenido del curso
Andres Santiago Leguizamon Moncaleano
Miguel Andres Rendon Reyes
Leandro Cosme Tomassini
Jhoan Sebastián Lopera Gallego
Santiago Rojas Trujillos
Leonardo Valdivieso
Miguel Teheran
Luis Miguel Mejia Martinez
Luis Fernando Olveda Ruvalcaba
Jaime Betancur
Jaime Betancur
12345 12345
Básicamente "divide y vencerás"
La principal diferencia que veo con la técnica “Divide y vencerás” y el principio de responsabilidad única, es que la una se enfoca de hacer problemas grandes pequeños y la otra organiza cada una de las piezas de un problema entre distintos responsables. Eso no necesariamente hace el problema más pequeño, en cambio crear una función que solo devuelve 1 si n es igual 1 para dar con el factorial de un número, demuestra brillamente el concepto.
Principio de Responsabilidad Única (SRP) en C#
Definición:
El principio de responsabilidad única (SRP) establece que cada clase o módulo en un programa debe tener una única responsabilidad. En otras palabras, una clase solo debe tener una razón para cambiar.
Beneficios:
Cómo aplicar el SRP en C#:
Ejemplos de aplicación del SRP:
Persona: Tiene la responsabilidad de almacenar información personal (nombre, dirección, etc.).Calculadora: Tiene la responsabilidad de realizar operaciones matemáticas (suma, resta, etc.).Repositorio: Tiene la responsabilidad de acceder y modificar datos en una base de datos.Violaciones del SRP:
Con este principio todo se hace más fácil, el manejo y la gestión
Single responsability principle Se trata de distribuir las responsabilidades de un software en un grupo de componentes, haciendo que cada componente tenga una única responsabilidad. Aplica para:
Pero si se hacen clases con una sola responsabilidad, no se llena el código de muchas clases pequeñas y se hacen difíciles de manejar?
Es mucho más fácil de manejar un código separado o desglozado que uno fuertemente acoplado. Si hace buen uso del nombramiento no deberias tener problema, debe ser fácil de identificar todo
Pincipio de responsabilidad unica Distribuir las responsabilidades de un sistema entre sus componentes, donde cada uno solo tengo una responsabilidad.
Pudiera parecer que a la larga pudiéramos llenarnos de muchos archivos o componentes, pero en la experiencia que tengo, es mucho mejor tener dividido y apoyado de un buen naming, será muy sencillo administrarlo.
si lo haces en Gherkin Feature: Confirmación de compra
Como usuario
Quiero recibir una confirmación después de realizar una compra
Para asegurarme de que la transacción fue exitosa y tener acceso a la factura
Scenario: Confirmación visual y envío de información después de la compra
Given que he confirmado mi compra en la plataforma
When se procesa exitosamente la transacción
Then debería ver un mensaje de confirmación en pantalla
And debería tener la opción de descargar la factura
And debería recibir un correo electrónico de confirmación
aqui hay algo de analisis clasico, si miramos la historia donde los verbos son acciones y los sujetos son actores este ejercicio siempre es util incluso hoy con clean Architecture,
Buen curso