Pojedyncza odpowiedzialność
Lekcja 22 z 28 w kursie Czysty kod — pisz lepszy kod w Pythonie w Coddy.
„Nigdy nie powinien istnieć więcej niż jeden powód do zmiany klasy.”
Zasada pojedynczej odpowiedzialności (SRP) mówi, że każda klasa i funkcja powinny mieć tylko jedno zadanie lub jeden powód do zmiany.
Cele -
- Tworzenie klas i funkcji o wysokiej spójności i dużej odporności.
- Promowanie kompozycji klas
- Unikanie duplikowania kodu
Wyzwanie
ŚredniOtrzymujesz klasę Person, która ma metodę save służącą do zapisywania osoby w bazie danych.
W podanym kodzie klasa ma dwie odpowiedzialności:
- Tworzenie i zarządzanie obiektem osoby
- Zapisywanie osoby w bazie danych
Twoim zadaniem jest upewnić się, że klasa Person ma tylko jedną odpowiedzialność.
- Utwórz klasę
Databasez metodąsave. - Utwórz połączenie między klasami
PersoniDatabase.
Istnieje wiele sposobów na wykonanie tego zadania. Skupiamy się na jednym konkretnym — w razie potrzeby skorzystaj z podpowiedzi!
Pamiętaj, że gdy utworzymy osobną klasę Database, możemy zarządzać wszystkimi sprawami "Database related" w jednym miejscu!
Spróbuj swoich sił
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)Wszystkie lekcje w sekcji Czysty kod — pisz lepszy kod w Pythonie
6SOLID
WprowadzeniePojedyncza odpowiedzialnośćOtwarte-zamkniętePodstawienie LiskovSegregacja interfejsówOdwrócenie zależnościPoćwicz samodzielnie: Kompilator Python online