אחריות יחידה
שיעור 22 מתוך 28 בקורס קוד נקי – כתיבת קוד טוב יותר באמצעות Python של Coddy.
"לעולם לא צריכה להיות יותר מסיבה אחת לשינוי של מחלקה."
עקרון האחריות היחידה (SRP) קובע שלכל מחלקה ופונקציה צריכה להיות משימה אחת בלבד או סיבה אחת בלבד להשתנות.
מטרות -
- יצירת מחלקות ופונקציות בעלות לכידות גבוהה ועמידות.
- עידוד הרכבת מחלקות
- הימנעות משכפול קוד
אתגר
בינונינתונה לך המחלקה Person, שיש לה מתודה save לשמירת האדם במסד הנתונים.
בקוד הנתון למחלקה יש שתי תחומי אחריות:
- יצירה וניהול של אובייקט אדם
- שמירת האדם במסד הנתונים
המשימה שלך היא לוודא שלמחלקה 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)כל השיעורים ביחידה קוד נקי – כתיבת קוד טוב יותר באמצעות Python
תרגלו בעצמכם: קומפיילר Python אונליין