Single responsibility
Lección 22 de 28 del curso Clean Code - Write better code using Python de Coddy.
"Nunca debería haber más de una razón para que un class cambie."
El principio de responsabilidad única (SRP) establece que cada class y función debería tener una sola tarea o una sola razón para cambiar.
Objetivos -
- Crear class y funciones altamente cohesivas y robustas.
- Fomentar la composición de class
- Evitar la duplicación de código
Desafío
IntermedioSe te proporciona class Person, que tiene un método save para guardar person en la base de datos.
En el código proporcionado, class tiene dos responsabilidades:
- Crear y gestionar el objeto person
- Guardar person en la base de datos
Tu tarea es asegurarte de que Person tenga solo una responsabilidad.
- Crear class
Databasecon el métodosave. - Crear una conexión entre
PersonyDatabase
Hay muchas opciones para realizar esta tarea; buscamos una específica. ¡Usa las pistas cuando sea necesario!
Ten en cuenta que, cuando creamos una class independiente para Database, podemos gestionar todo lo relacionado con "Database related" en un solo lugar.
Pruébalo tú mismo
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)Todas las lecciones de Clean Code - Write better code using Python
Practica por tu cuenta: Compilador de Python online