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 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
challenge icon

Desafío

Intermedio

Se 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:

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

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

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

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