שיעור 2: OCP עם Strategy
כל מבצע חדש בחנות מוסיף עוד תנאי למתודת התמחור: קופון VIP, מבצע חג, ובחודש הבא — עוד אחד. כל עריכה כזו פותחת מחדש קוד שכבר עבד בפרודקשן, מסכנת את הקופונים הקיימים, ודורשת בדיקה מחדש של הכול. בשיעור הזה נלמד את עקרון פתוח־סגור (OCP) ואת תבנית Strategy: איך הופכים כל התנהגות חדשה למחלקה חדשה — כך שמנו
OCP עם Strategy הוא כמו מגירת חותכני עוגיות: רוצים צורה חדשה? מוסיפים חותכן למגירה. אף אחד לא מפרק את המערוך בשביל זה.
- תבנית Strategy
- התנהגויות הן אובייקטים מתחלפים מאחורי ממשק אחד; המנוע מריץ את החוזה בלי להכיר את המימושים.
- עקרון פתוח־סגור (OCP)
- פתוח להרחבה במחלקות חדשות, סגור לעריכה של קוד שכבר עובד ונבדק.