Menu
Coddy logo textTech

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 una clase cambie."

El principio de responsabilidad única (SRP) establece que cada clase y función debe tener solo un trabajo o una sola razón para cambiar.

Objetivos -

  • Crear clases y funciones altamente cohesivas y robustas.
  • Promover la composición de clases
  • Evitar la duplicación de código
challenge icon

Desafío

Intermedio

Se te da la clase Person que tiene un método save para guardar a la persona en la base de datos.

En el código dado, la clase tiene dos responsabilidades:

  1. Crear y gestionar el objeto persona
  2. Guardar a la persona en la base de datos

Tu tarea es asegurarte de que Person tenga solo una responsabilidad.

  • Crear la clase Database con el método save.
  • Crear la conexión entre Person y Database

Hay muchas opciones para realizar esta tarea, ¡estamos buscando una específica, utiliza las pistas cuando sea necesario!

¡Ten en cuenta que cuando creamos una clase separada 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