שיעור 20: פרויקט מסכם ב׳ — הרחבה בירושה
המלון מצליח — ועכשיו מגיעה דרישה חדשה: כלבים צריכים טיול, חתולים צריכים ארגז חול. במקום לשכתב את המערכת, נרחיב אותה: Dog ו-Cat יורשים מ-Pet, וכל המלון ממשיך לעבוד בלי לשנות בו שורה. זו המיומנות האמיתית של העבודה — לשנות מודל קיים בבטחה. סיום הקורס!
המלון לא צריך לדעת מי כלב ומי חתול — הוא שואל כל אורח "מה ההוראות שלך?" וכל אחד עונה בדרכו. קבלה אחת, אורחים מכל הסוגים.
- הרחבת מודל
- הוספת יכולות למערכת קיימת דרך מחלקות-בת חדשות — בלי לשנות את הקוד שכבר עובד.
- פתוח להרחבה, סגור לשינוי
- עיקרון תכנון: קוד טוב גדל בהוספת מחלקות חדשות, לא בעריכת מחלקות קיימות.