דוגמא למימוש של Memento ב-PHP

תבניות תיכנות אין תגובות »

ה-Design Pattern שידוע בשם Memento מהווה פיתרון לבעיה התכנותית הבאה: כיצד לייצג את ה-state של אובייקט קיים באופן אשר יאפשר לנו לשמור את ה-state בזיכרון נפרד ולשחזר את ה-state של האובייקט בשלב מאוחר יותר. הוידאו קליפ הבא כולל הסבר פשוט תוך שימוש בדוגמת קוד.

את דוגמת הקוד ניתן להוריד בקישור memento. תרשים ה-UML הבא מספק הסבר נוסף.

MEM

דוגמא למימוש של Strategy ב-PHP

תבניות תיכנות אין תגובות »

באמצעות Strategy ניתן לייצג אסטרטגיות (אלגוריתמים) באמצעות אובייקטים באופן אשר מאפשר לנו להחליף אסטרטגיה אחת באחרת מבלי שנידרש לשינויים רבים בקוד. הוידאו קליפ הבא מסביר כיצד לעשות זאת.

ניתן להוריד את דוגמת הקוד בקישור strategy. תרשים ה-UML הבא מספק הסבר נוסף.

strategy

הפונקציה get_defined_functions

יכולות שיקוף אין תגובות »

באמצעות קריאה להפעלת הפונקציה get_defined_functions ניתן לקבל פרטים מלאים על כל הפונקציות המוגדרות. הוידאו קליפ הבא מציג כיצד זאת נעשה.

את קוד המקור שמופיע בוידאו קליפ ניתן להוריד בקישור get_defined_functions_demo.

אופן השימוש במחלקה ReflectionMethod

יכולות שיקוף אין תגובות »

אובייקט מהמחלקה ReflectionMethod מייצג מתודה מסויימת במחלקה ספציפית. הוידאו קליפ הבא מציג כיצד ניתן לקבל לרשותנו אובייקט מסוג ReflectionMethod וכיצד ניתן להפעיל עליו מתודות כדי לקבל מידע נוסף על המתודה שהוא מייצג.

את דוגמת הקוד שמופיעה בוידאו קליפ זה ניתן להוריד בקישור ReflectionMethod_demo.rar.

אופן השימוש במחלקה ReflectionParameter

יכולות שיקוף אין תגובות »

אובייקט מהמחלקה ReflectionParameter מייצג פרמטר מסויים בפונקציה ספציפית. וידאו קליפ זה מציג כיצד ניתן לקבל לרשותנו אובייקטים מסוג ReflectionParameter אשר מייצגים את הפרמטרים בפונקציה נתונה.

את דוגמת הקוד שמופיעה בוידאו קליפ ניתן להוריד בקישור ReflectionParameter_demo.rar.

אופן השימוש במחלקה ReflectionProperty

יכולות שיקוף אין תגובות »

אובייקט מהמחלקה ReflectionProperty מייצג property מסויים במחלקה ספציפית. וידאו קליפ זה מסביר כיצד ניתן ליצור אובייקט מסוג ReflectionProperty כדי שייצג property במחלקה שהגדרנו.

את קוד המקור שמופיע בוידאו קליפ ניתן להוריד בקישור ReflectionProperty_demo.

דוגמא למימוש של Template ב-PHP

תבניות תיכנות אין תגובות »

ה-Template Design Pattern מאפשר לנו להגדיר מתודה באופן שמאפשר לממש חלקים מתוכה במחלקות שונות אשר יורשות (ישירות או בעקיפין) מהמחלקה שאליה המתודה שייכת. הוידאו קליפ הבא מסביר זאת באמצעות דוגמת קוד אשר כתובה ב-PHP.

את קוד המקור אשר מופיע בוידאו קליפ זה ניתן להוריד בקישור php_template.rar. דיארמת ה-UML הבאה מספקת הסבר נוסף אשר מסייע להבנת Template Design Pattern.

דוגמא למימוש של Proxy ב-PHP

תבניות תיכנות אין תגובות »

ה-Proxy Design Pattern מהווה פיתרון לאותם מקרים שבהם התוכנית שלנו עושה שימוש באובייקטים אשר יצירתם ו/או תחזוקתם צורכים משאבים רבים. כאשר מממשים Proxy מגדירים מחלקה שהאובייקטים אשר נוצרים ממנה מחזיקים ב-references לאובייקטים אשר צורכים resources רבים (האובייקטים הכבדים) באופן אשר מאפשר את יצירתם של האובייקטים (הכבדים) רק כאשר יש צורך בכך.

את קוד המקור שמופיע בוידאו קליפ ניתן להוריד בקישור php_proxy.rar. תרשים ה-UML הבא מספק הסבר נוסף אשר יכול לסייע בהבנה של Proxy Design Pattern.

דוגמא למימוש של Facade ב-PHP

תבניות תיכנות אין תגובות »

באמצעות ה-Facade Design Pattern ניתן להתגבר על הסיבוכיות שכרוכה בעבודה עם מספר רב של מחלקות. בוידאו קליפ הבא מוצג מימוש אפשרי ל-Facade Design Pattern ב-PHP.

את הקוד שמופיע בוידאו קליפ ניתן להוריד בקישור facade_php. תרשים ה-UML הבא מספק מידע נוסף על Facade Design Pattern.

facade_php

דוגמא למימוש של Adapter ב-PHP

תבניות תיכנות אין תגובות »

באמצעות ה-Adapter Design Pattern ניתן להתגבר על בעיות של חוסר התאמה בין ה-interface שאנו מצפים למצוא את מימושו ב-class שממנו נוצר האובייקט לבין ה-interface שמומש בפועל.

את קוד המקור של הדוגמא שמוצגת בוידאו קליפ ניתן להוריד בקישור adapter_php.rar. דיאגרמת ה-UML הבא מספקת הסבר נוסף להבנת ה-Adapter Design Pattern.

adapterphp

להכנס RSS תגובות RSS פוסטים
WP Theme & Icons by N.Design Studio
התאמה לעברית: We CMS