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

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

תבניות מבנה

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

Decorator עוטף אובייקט בשכבות של התנהגות, Composite מאחד עלים וצמתים תחת ממשק אחד, Adapter מחבר בין ממשקים שלא נועדו להתאים, וFacade מסתיר תת־מערכת מסובכת מאחורי ממשק פשוט. בכל מאמר יש גם סעיף על המקרים שבהם התבנית רק מוסיפה שכבה מיותרת.

מאמרים בנושא

תבניות מבנה

facade design pattern: תבנית Facade שמפשטת תת־מערכת מסובכת — ומתי היא מסתירה יותר מדי

תבנית facade design pattern נועדה לפתור בעיה מוכרת בתכנון מונחה־עצמים: לקוח פשוט צריך לבצע פעולה עסקית אחת, אבל בפועל הוא נאלץ להכיר חמש מחלקות, סדר קריאות רגיש, חריגות פנימיות ופרטי…

10 דק׳ קריאה

תבניות מבנה

תבנית Composite: מבני עץ שבהם עלה וצומת מטופלים אותו דבר — מימוש מלא על מערכת קבצים

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

8 דק׳ קריאה

תבניות מבנה

תבנית Decorator (קשטן): עטיפת אובייקט בהתנהגות נוספת בלי ירושה — מימוש מלא ודוגמת זרמי קלט/פלט

תבנית Decorator, או קשטן, מוסיפה אחריות לאובייקט באופן דינמי ומהווה חלופה גמישה לירושה. ההגדרה לפי ספר ה-GoF, ארבעת המשתתפים, מימוש מלא ב-Java ובפייתון, איך זרמי הקלט/פלט של Java בנויים עליה, ולמה הסדר בין העטיפות קובע.

8 דק׳ קריאה