Menu
Coddy logo textTech

Single Responsibility

Lektion 22 von 28 im Kurs Clean Code - Schreibe besseren Code mit Python von Coddy.

„Es sollte niemals mehr als einen Grund geben, eine class zu ändern.“

Das Prinzip der Einzelverantwortung (SRP) besagt, dass jede class und jede Funktion nur eine Aufgabe oder einen Grund zur Änderung haben sollte.

Ziele –

  • Stark kohäsive und robuste class und Funktionen erstellen.
  • Die Komposition von class fördern
  • Code-Duplikation vermeiden
challenge icon

Aufgabe

Mittel

Dir ist die class Person gegeben, die über eine Methode save verfügt, um die Person in der Datenbank zu speichern.

Im gegebenen Code hat die class zwei Verantwortlichkeiten:

  1. Ein person-Objekt erstellen und verwalten
  2. Die Person in der Datenbank speichern

Deine Aufgabe besteht darin sicherzustellen, dass Person nur eine Verantwortung hat.

  • Erstelle die class Database mit der Methode save.
  • Stelle eine Verbindung zwischen Person und Database her.

Es gibt viele Möglichkeiten, diese Aufgabe zu lösen. Wir zielen auf eine bestimmte Lösung ab. Verwende bei Bedarf die Hinweise!

Beachte, dass wir, wenn wir eine separate class für Database erstellen, alle "Database related"-Dinge an einer Stelle verwalten können!

Probier es selbst

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

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

Alle Lektionen in Clean Code - Schreibe besseren Code mit Python

Übe selbstständig: Online-Python-Compiler