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

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

תקשורת בין אובייקטים

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

Mediator מרכז את התיאום באובייקט מתווך אחד, Chain of Responsibility מעביר בקשה לאורך שרשרת מטפלים עד שאחד מהם מטפל בה, Observer מודיע למנויים על שינוי, וCommand הופך בקשה לאובייקט שאפשר לשמור, לתזמן ולבטל. בכל מאמר יש גם סעיף על המחיר של התבנית.

מאמרים בנושא

תקשורת בין אובייקטים

Observer Design Pattern: תבנית Observer למנוי לשינויים, אירועים וההבדל בינה לבין Pub/Sub

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

10 דק׳ קריאה

תקשורת בין אובייקטים

תבנית Chain of Responsibility: שרשרת מטפלים שבה כל חוליה מחליטה אם לטפל או להעביר — מימוש מלא

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

8 דק׳ קריאה

תקשורת בין אובייקטים

תבנית Mediator: אובייקט מתווך שמחליף רשת של תלויות הדדיות — מימוש מלא על טופס עם רכיבים תלויים

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

8 דק׳ קריאה