Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المسؤولية الواحدة

الدرس 22 من 28 في دورة Clean Code - كتابة كود أفضل باستخدام Python على Coddy.

"يجب ألا يكون هناك أبداً أكثر من سبب واحد لتغيير الفئة."

ينص مبدأ المسؤولية الواحدة (SRP) على أن كل فئة ودالة يجب أن يكون لها وظيفة واحدة فقط أو سبب واحد للتغيير.

الأهداف -

  • إنشاء فئات ودوال ذات تماسك عالٍ وقوة.
  • تعزيز تكوين الفئات (class composition)
  • تجنب تكرار الكود
challenge icon

التحدي

متوسط

لقد تم إعطاؤك الفئة Person التي تحتوي على طريقة save لحفظ الشخص في قاعدة البيانات.

في الكود المعطى، تمتلك الفئة مسؤوليتين:

  1. إنشاء وإدارة كائن الشخص
  2. حفظ الشخص في قاعدة البيانات

مهمتك هي التأكد من أن Person لديها مسؤولية واحدة فقط.

  • قم بإنشاء الفئة Database مع الطريقة save.
  • قم بإنشاء اتصال بين Person و Database

هناك العديد من الخيارات للقيام بهذه المهمة، نحن نهدف إلى خيار محدد، استخدم التلميحات عند الحاجة!

لاحظ أنه عندما نقوم بإنشاء فئة منفصلة لـ 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