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
Aufgabe
MittelGegeben 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:
- Erstellen und Verwalten des Person-Objekts
- Speichern der Person in der Datenbank
Deine Aufgabe ist es, sicherzustellen, dass Person nur eine Verantwortlichkeit hat.
- Erstelle die Klasse
Databasemit der Methodesave. - Erstelle eine Verbindung zwischen
PersonundDatabase
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)