Menu
Coddy logo textTech

Responsabilité unique

Leçon 22 sur 28 du cours Clean Code - Écrire un meilleur code avec Python de Coddy.

"Il ne devrait jamais y avoir plus d'une raison pour qu'une classe change."

Le principe de responsabilité unique (SRP) stipule que chaque classe et fonction ne devrait avoir qu'une seule tâche ou une seule raison de changer.

Objectifs -

  • Créer des classes et des fonctions hautement cohésives et robustes.
  • Promouvoir la composition de classes
  • Éviter la duplication de code
challenge icon

Défi

Moyen

On vous donne la classe Person qui possède une méthode save pour enregistrer la personne dans la base de données.

Dans le code fourni, la classe a deux responsabilités :

  1. Créer et gérer l'objet person
  2. Enregistrer la personne dans la base de données

Votre tâche est de vous assurer que Person n'a qu'une seule responsabilité.

  • Créer la classe Database avec la méthode save.
  • Créer une connexion entre Person et Database

Il existe de nombreuses options pour accomplir cette tâche, nous en visons une spécifique, utilisez les hints si nécessaire !

Notez que lorsque nous créons une classe séparée pour Database, nous pouvons gérer tout ce qui est "Database related" en un seul endroit !

Essayez vous-même

class Person:
    def __init__(self, name):
        self.name = name

    def save(self):
        print('Saving person with name "%s"' % self.name)

Toutes les leçons de Clean Code - Écrire un meilleur code avec Python