المسؤولية الواحدة
الدرس 22 من 28 في دورة Clean Code - كتابة كود أفضل باستخدام Python على Coddy.
"يجب ألا يكون هناك أكثر من سبب واحد لتغيير class."
ينص مبدأ المسؤولية الواحدة (SRP) على أن كل class وكل دالة يجب أن يكون لهما دور واحد فقط أو سبب واحد للتغيير.
الأهداف -
- إنشاء classes ودوال عالية التماسك ومتينة.
- تعزيز تركيب class
- تجنب تكرار الشيفرة
التحدي
متوسطلديك class Person التي تحتوي على method save لحفظ person في قاعدة البيانات.
في الشيفرة المُعطاة، تتحمل class مسؤوليتين اثنتين:
- إنشاء وإدارة كائن person
- حفظ person في قاعدة البيانات
مهمتك هي التأكد من أن Person تتحمل مسؤولية واحدة فقط.
- أنشئ class
Databaseباستخدام methodsave. - أنشئ اتصالًا بين
PersonوDatabase
هناك العديد من الخيارات لتنفيذ هذه المهمة، ونحن نهدف إلى خيار محدد؛ استخدم التلميحات عند الحاجة!
لاحظ أنه عند إنشاء class منفصلة لـ Database، يمكننا إدارة جميع الأمور المتعلقة بـ "Database related" في مكان واحد!
جرّب بنفسك
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)جميع دروس Clean Code - كتابة كود أفضل باستخدام Python
تدرّب بنفسك: مترجم Python عبر الإنترنت