Menu
Coddy logo textTech

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
challenge icon

Wyzwanie

Średni

Otrzymujesz klasę Person, która ma metodę save służącą do zapisywania osoby w bazie danych.

W podanym kodzie klasa ma dwie odpowiedzialności:

  1. Tworzenie i zarządzanie obiektem osoby
  2. Zapisywanie osoby w bazie danych

Twoim zadaniem jest upewnić się, że klasa Person ma tylko jedną odpowiedzialność.

  • Utwórz klasę Database z metodą save.
  • Utwórz połączenie między klasami Person i Database.

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

Poćwicz samodzielnie: Kompilator Python online