Tek sorumluluk
Coddy'nin Clean Code - Python ile daha iyi kod yazın kursunda ders 22 / 28.
"Bir sınıfın değişmesi için asla birden fazla neden olmamalıdır."
Tek sorumluluk prensibi (SRP), her sınıfın ve fonksiyonun yalnızca tek bir görevi veya değişmek için tek bir nedeni olması gerektiğini belirtir.
Hedefler -
- Yüksek bağlılığa (cohesive) sahip ve sağlam sınıflar ve fonksiyonlar oluşturmak.
- Sınıf kompozisyonunu teşvik etmek
- Kod tekrarından kaçınmak
Görev
OrtaSize, kişiyi veritabanına kaydetmek için bir save metoduna sahip olan Person sınıfı verilmiştir.
Verilen kodda sınıfın iki sorumluluğu vardır:
- Kişi nesnesini oluşturmak ve yönetmek
- Kişiyi veritabanına kaydetmek
Göreviniz, Person sınıfının yalnızca bir sorumluluğu olduğundan emin olmaktır.
savemetodu ileDatabasesınıfını oluşturun.PersonveDatabasearasında bağlantı kurun
Bu görevi yapmanın birçok yolu vardır; biz belirli bir tanesini hedefliyoruz, gerektiğinde ipuçlarını kullanın!
Veritabanı için ayrı bir sınıf oluşturduğumuzda, tüm "Database related" işlerini tek bir yerden yönetebileceğimizi unutmayın!
Kendin dene
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)