-
Decorator
בפוסט זה אדגים שני שימושים נפוצים בתבנית העיצוב Decorator. Decorator היא תבנית עיצוב די נפוצה ושימושית ביותר. היא מאפשר הוספת פונקציונליות לאובייקט קיים בצורה דינאמית, מבלי לשנות את האובייקט המקורי. אפשרות זו מונעת ירושה מיותרת או פותרת מקרים בהם אין אפשרות לירושה בכלל (Sealed). עוד דבר שניתן לומר על תבנית זו הוא שהיא מתאימה ל Open Closed Principle– עיקרון זה של תכנות מונחה עצמים אומר שClass צריך להיות פתוח להרחבה, אבל סגור לשינויים. כלומר, סביר להניח שהושקעה מחשבה רבה על עיצוב הClass שלנו, ולכן לא נרצה לשנות אותו. אך מצד שני יתכן מצב שמישהו יצטרך באיזשהו שלב להוסיף פונקציונליות לקלאס. מקרה נוסף שבו נרצה להשתמש ב Decorator הוא כאשר יש…