דלג לתוכן הראשי
שכבת הפשטה ארכיטקטורת תוכנה בעברית

נושא · 4 מאמרים

תבניות יצירה

תבניות היצירה עונות על שאלה אחת שנראית פשוטה: מי מחליט איזה אובייקט נוצר, ומתי. כל קריאה ל-new קושרת את הקוד למחלקה קונקרטית אחת, וכשהמחלקה הזו צריכה להתחלף — לפי הגדרות, לפי פלטפורמה או לפי סוג לקוח — הקשר הזה מתחיל להכאיב. התבניות כאן מעבירות את ההחלטה למקום אחד מוגדר, כך ששאר הקוד עובד מול הפשטה.

בFactory Method מחלקת־בת מחליטה מה ליצור, בAbstract Factory אובייקט אחד יוצר משפחה שלמה של מוצרים שמתאימים זה לזה, וBuilder מרכיב אובייקט מורכב צעד אחר צעד. לכל אחת מימוש מלא ב-Java ובפייתון, וגם הסבר מתי קריאה פשוטה לבנאי עדיפה על כולן.

מאמרים בנושא

תבניות יצירה

singleton design pattern: תבנית Singleton, מימוש נכון, בטיחות בין חוטים, ולמה רבים רואים בה אנטי־תבנית

תבנית singleton design pattern נראית פשוטה: מחלקה אחת, מופע אחד, נקודת גישה אחת. דווקא בגלל הפשטות הזאת היא אחת מתבניות היצירה שהכי קל לממש לא נכון. מימוש נאיבי עלול להישבר…

8 דק׳ קריאה

תבניות יצירה

תבנית Builder: בניית אובייקט מורכב צעד אחר צעד, מימוש מלא, Fluent Builder ו-Director

Builder מפרידה בין תהליך הבנייה של אובייקט מורכב לבין הייצוג שלו, כך שאותו תהליך יכול לייצר ייצוגים שונים. ההגדרה של ספר ה-GoF עם Director, הווריאציה השוטפת המוכרת מ-Java, מימוש מלא של שתיהן ומתי לא צריך אף אחת.

9 דק׳ קריאה

תבניות יצירה

תבנית Abstract Factory: משפחות של אובייקטים קשורים, מימוש מלא וההבדל מ-Factory Method

Abstract Factory מספקת ממשק ליצירת משפחות של אובייקטים קשורים בלי לציין את המחלקות הקונקרטיות שלהם. ההגדרה לפי ספר ה-GoF, חמשת המשתתפים, מימוש מלא ב-Java ובפייתון, ומה ההבדל האמיתי בינה לבין Factory Method.

8 דק׳ קריאה

תבניות יצירה

תבנית Factory Method: הגדרה, מבנה, מימוש מלא ב-Java ובפייתון, ומתי היא עדיפה על new ישיר

Factory Method מגדירה ממשק ליצירת אובייקט ומשאירה למחלקות־הבת להחליט איזו מחלקה ליצור. ההגדרה המדויקת, ארבעת המשתתפים, מימוש מלא ב-Java ובפייתון, ההבדל מ"פקטורי פשוט" ומתי new ישיר עדיף.

8 דק׳ קריאה