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 für eine Klasse geben, sich zu ändern."

Das Single-Responsibility-Prinzip (SRP) besagt, dass jede Klasse und jede Funktion nur eine Aufgabe oder einen Grund für Änderungen haben sollte.

Ziele -

  • Erstellen von hochkohäsiven und robusten Klassen und Funktionen.
  • Förderung der Klassenkomposition
  • Vermeidung von Code-Duplizierung
challenge icon

Aufgabe

Mittel

Gegeben ist die Klasse Person, die eine Methode save besitzt, um die Person in der Datenbank zu speichern.

Im gegebenen Code hat die Klasse zwei Verantwortlichkeiten:

  1. Erstellen und Verwalten des Person-Objekts
  2. Speichern der Person in der Datenbank

Deine Aufgabe ist es, sicherzustellen, dass Person nur eine Verantwortlichkeit hat.

  • Erstelle die Klasse Database mit der Methode save.
  • Erstelle eine Verbindung zwischen Person und Database

Es gibt viele Möglichkeiten, diese Aufgabe zu lösen. Wir streben eine bestimmte an. Nutze bei Bedarf die Hinweise!

Beachte, dass wir, wenn wir eine separate Klasse für die Datenbank erstellen, alle "Database related" Dinge an einem Ort 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