The Factory Method Design Pattern הוא כמו מפעל של אובייקטים. ה-pattern מספק לנו interface שממנו אנחנו מייצרים אובייקטים כ-superclass ומאפשרים להן לשנות את הסוג שלהן בזמן יצירה. מה זה Factory Method? נניח שיש אפליקציה שמנהלת מרכז לוגיסטיקה. בהתחלה עבדנו עם משאיות, ולכן כל הקוד שלנו נמצא בתוך אובייקט Truck. אחרי כמה זמן, חברת הפצה ימית […]
The Decorator Design Pattern מאפשר לנו להוסיף פונקציונליות לאובייקטים קיימים בזמן ריצה מבלי לשנות את המבנה של האובייקט המקורי. אנחנו יוצרים class שהוא decorator והוא עוטף את ה-class המקורי ומוסיף את הפונקציונליות. בדרך כלל decorator class יהיה בעל אחריות על פעולה אחת בלבד. מה זה Decorator Design Pattern? נניח שאני בבית קפה. אני מזמינה קפה […]
The Observer Design Pattern מגדיר עבורנו יחסים של יחיד לרבים בין אובייקטים, כך שכשמתבצע שינוי באובייקט שאנחנו עוקבים אחריו, כל התלויים בו יקבלו הודעה ויתעדכנו. מה זה Observer Design Pattern? נניח שיש לכם ערוץ יוטיוב. בכל פעם כשאתם מעלים וידאו, כל המנויים שלכם מקבלים הודעה. הערוץ שלכם "נצפה" על ידי המנויים שהם "צופים". כשמעלים סרטון […]
Strategy Design Pattern בא לעזרתנו כשיש לנו אסטרטגיה להשיג מטרה כלשהי ואנחנו רוצים את היכולת להחליף אותה כשיש צורך. אנחנו נרצה להחליף את האסטרטגיה בזמן ריצה, בלי לשנות את הקוד שמשתמש באלגוריתם. מה זה Strategy Design Pattern? נניח שאנחנו יוצרים משחק וידאו שהדמות הראשית שלו יכולה לתקוף אוייבים. לדמות יכולים להיות כלי נשק שונים לבחור […]
Design patterns הם פתרונות בהנדסת תוכנה לשימוש רב פעמי לבעיות נפוצות. זה לא תבניות קוד, אלא קווים מנחים של איך לפתור את הבעיה בדרך ברורה ו-scalable למערכות גדולות. יש כמה design patterns קלאסיים. Creational Design Patterns Singleton Pattern – מבטיח של-class יש מופע אחד בלבד ומספק נקודת גישה גלובלית למופע הזה. Factory Method Pattern – […]