Skip to content

Commit 4cf7f9b

Browse files
authored
Merge pull request mouredev#4596 from agusrosero/develop
#26 - Python
2 parents 8e6c749 + 00d6701 commit 4cf7f9b

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
"""
2+
/*
3+
* EJERCICIO:
4+
* Explora el "Principio SOLID de Responsabilidad Única (Single Responsibility
5+
* Principle, SRP)" y crea un ejemplo simple donde se muestre su funcionamiento
6+
* de forma correcta e incorrecta.
7+
"""
8+
9+
# Forma incorrecta
10+
11+
12+
class Incorrecta:
13+
def __init__(self, name, position):
14+
self.name = name
15+
self.position = position
16+
17+
def get_details(self):
18+
return f"Empleado: {self.name}, Posicion: {self.position}"
19+
20+
def generate_report(self):
21+
return f"Generando reporte para empleado: {self.name}"
22+
23+
# Forma correcta
24+
25+
26+
class Correcta:
27+
def __init__(self, name, position):
28+
self.name = name
29+
self.position = position
30+
31+
def get_details(self):
32+
return f"Empleado: {self.name}, Posicion: {self.position}"
33+
34+
35+
class Correcta2:
36+
def __init__(self, employee):
37+
self.employee = employee
38+
39+
def generate_report(self):
40+
return f"Generando reporte para empleado: {self.employee.name}"
41+
42+
43+
"""
44+
* DIFICULTAD EXTRA (opcional):
45+
* Desarrolla un sistema de gestión para una biblioteca. El sistema necesita
46+
* manejar diferentes aspectos como el registro de libros, la gestión de usuarios
47+
* y el procesamiento de préstamos de libros.
48+
* Requisitos:
49+
* 1. Registrar libros: El sistema debe permitir agregar nuevos libros con
50+
* información básica como título, autor y número de copias disponibles.
51+
* 2. Registrar usuarios: El sistema debe permitir agregar nuevos usuarios con
52+
* información básica como nombre, número de identificación y correo electrónico.
53+
* 3. Procesar préstamos de libros: El sistema debe permitir a los usuarios
54+
* tomar prestados y devolver libros.
55+
* Instrucciones:
56+
* 1. Diseña una clase que no cumple el SRP: Crea una clase Library que maneje
57+
* los tres aspectos mencionados anteriormente (registro de libros, registro de
58+
* usuarios y procesamiento de préstamos).
59+
* 2. Refactoriza el código: Separa las responsabilidades en diferentes clases
60+
* siguiendo el Principio de Responsabilidad Única.
61+
*/
62+
"""

0 commit comments

Comments
 (0)