ה-Design Pattern שידוע בשם Memento מהווה פיתרון לבעיה התכנותית הבאה: כיצד לייצג את ה-state של אובייקט קיים באופן אשר יאפשר לנו לשמור את ה-state בזיכרון נפרד ולשחזר את ה-state של האובייקט בשלב מאוחר יותר. הוידאו קליפ הבא כולל הסבר פשוט תוך שימוש בדוגמת קוד.
את דוגמת הקוד ניתן להוריד בקישור memento. תרשים ה-UML הבא מספק הסבר נוסף.
באמצעות Strategy ניתן לייצג אסטרטגיות (אלגוריתמים) באמצעות אובייקטים באופן אשר מאפשר לנו להחליף אסטרטגיה אחת באחרת מבלי שנידרש לשינויים רבים בקוד. הוידאו קליפ הבא מסביר כיצד לעשות זאת.
ניתן להוריד את דוגמת הקוד בקישור strategy. תרשים ה-UML הבא מספק הסבר נוסף.
אובייקט מהמחלקה ReflectionMethod מייצג מתודה מסויימת במחלקה ספציפית. הוידאו קליפ הבא מציג כיצד ניתן לקבל לרשותנו אובייקט מסוג ReflectionMethod וכיצד ניתן להפעיל עליו מתודות כדי לקבל מידע נוסף על המתודה שהוא מייצג.
אובייקט מהמחלקה ReflectionParameter מייצג פרמטר מסויים בפונקציה ספציפית. וידאו קליפ זה מציג כיצד ניתן לקבל לרשותנו אובייקטים מסוג ReflectionParameter אשר מייצגים את הפרמטרים בפונקציה נתונה.
אובייקט מהמחלקה ReflectionProperty מייצג property מסויים במחלקה ספציפית. וידאו קליפ זה מסביר כיצד ניתן ליצור אובייקט מסוג ReflectionProperty כדי שייצג property במחלקה שהגדרנו.
ה-Template Design Pattern מאפשר לנו להגדיר מתודה באופן שמאפשר לממש חלקים מתוכה במחלקות שונות אשר יורשות (ישירות או בעקיפין) מהמחלקה שאליה המתודה שייכת. הוידאו קליפ הבא מסביר זאת באמצעות דוגמת קוד אשר כתובה ב-PHP.
את קוד המקור אשר מופיע בוידאו קליפ זה ניתן להוריד בקישור php_template.rar. דיארמת ה-UML הבאה מספקת הסבר נוסף אשר מסייע להבנת Template Design Pattern.
ה-Proxy Design Pattern מהווה פיתרון לאותם מקרים שבהם התוכנית שלנו עושה שימוש באובייקטים אשר יצירתם ו/או תחזוקתם צורכים משאבים רבים. כאשר מממשים Proxy מגדירים מחלקה שהאובייקטים אשר נוצרים ממנה מחזיקים ב-references לאובייקטים אשר צורכים resources רבים (האובייקטים הכבדים) באופן אשר מאפשר את יצירתם של האובייקטים (הכבדים) רק כאשר יש צורך בכך.
את קוד המקור שמופיע בוידאו קליפ ניתן להוריד בקישור php_proxy.rar. תרשים ה-UML הבא מספק הסבר נוסף אשר יכול לסייע בהבנה של Proxy Design Pattern.
באמצעות ה-Facade Design Pattern ניתן להתגבר על הסיבוכיות שכרוכה בעבודה עם מספר רב של מחלקות. בוידאו קליפ הבא מוצג מימוש אפשרי ל-Facade Design Pattern ב-PHP.
את הקוד שמופיע בוידאו קליפ ניתן להוריד בקישור facade_php. תרשים ה-UML הבא מספק מידע נוסף על Facade Design Pattern.
באמצעות ה-Adapter Design Pattern ניתן להתגבר על בעיות של חוסר התאמה בין ה-interface שאנו מצפים למצוא את מימושו ב-class שממנו נוצר האובייקט לבין ה-interface שמומש בפועל.
את קוד המקור של הדוגמא שמוצגת בוידאו קליפ ניתן להוריד בקישור adapter_php.rar. דיאגרמת ה-UML הבא מספקת הסבר נוסף להבנת ה-Adapter Design Pattern.
תגובות אחרונות