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

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

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

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

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

الأهداف -

  • إنشاء classes ودوال عالية التماسك ومتينة.
  • تعزيز تركيب class
  • تجنب تكرار الشيفرة
challenge icon

التحدي

متوسط

لديك class Person التي تحتوي على method save لحفظ person في قاعدة البيانات.

في الشيفرة المُعطاة، تتحمل class مسؤوليتين اثنتين:

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

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

  • أنشئ class Database باستخدام method save.
  • أنشئ اتصالًا بين 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 عبر الإنترنت