שיחה:Model View Controller

תגובה אחרונה: לפני 12 שנים מאת שרשר בנושא משוב מ-16 בפברואר 2012

למה תבנית העריכה? עריכה

לא ברור לי... טרול רפאים 15:28, 6 נובמבר 2005 (UTC)

היא בהחלט לא ברורה. אני מסיר אותה. שם בדוי 22:38, 7 נובמבר 2005 (UTC).

MVC היא תבנית עיצוב ולא ארכיטקטורה. רנדום 03:15, 28 בספטמבר 2006 (IDT)תגובה

רנדום, MVC זה לא תבנית עיצוב. אני ממליץ לך ללכת לקורס בנושא או ללמוד. מולי נמצא ספר של OREILLY בנושא, ובבירור הוא טוענים שאנשים רבים מתבלבלים בנושא. זה בסה"כ אוסף של 3 תבניות עיצוב. --א.פ.וימר 17:35, 10 בספטמבר 2007 (IDT)תגובה
תודה על הדאגה להשכלתי. אני סבור שהגדרה מדויקת אינה בנמצא, ולכן כך ציינתי בערך, ש-MVC היא תבנית עיצוב וכן תבנית ארכיטקטורה. רנדום 17:51, 10 בספטמבר 2007 (IDT)תגובה
זה נמצא בגבול האפור. בכל מקרה, גם בספרים וגם בויקיפדיה האנגלית - מתייחסים לMVC יותר כארכיטקטורה מאשר תבנית עיצוב. זה כאילו שתגיד שארכיטקטורת שרת-לקוח זה תבנית עיצוב. בכל מקרה, עשיתי שינוי שמשלב את הליטושים שלך עם שלי. --א.פ.וימר 17:56, 10 בספטמבר 2007 (IDT)תגובה
אני מקבל את התיקון שלך, השמטתי את התואר "תבנית עיצוב" מהפתיח והותרתי רק את "תבנית ארכיטקטורה". הוספתי התייחסות קצרה למחלוקת באשר להגדרה המדויקת בתוך הערך פנימה. רנדום 20:34, 10 בספטמבר 2007 (IDT)תגובה
רנדום, MVC הוא תבנית ארכיטקטורה המורכבת משילוב של מספר תבניות עיצוב - אשר פירטתי אותם. בנוסף, ההסבר הזה: "MVC זה תבנית עיצוב בסדר גודל בינוני-גדול" - הוא הסבר גם לא ברור מספיק וגם לא מדויק. זה מתייחס לכמות המחלקות? לקוד? ממתי זה נהיה גדול ומתי זה קטן...
מידת הגרעיניות שלאחריה מבנה מסוים בתוכנה נחשב כחלק מ-"ארכיטקטורה" אינה קבועה, ולא חלים עליה כללים מדויקים. אם תמצא הגדרה טובה, אל תשכח לציין זאת בערך ארכיטקטורת תוכנה. רנדום 15:04, 12 בספטמבר 2007 (IDT)תגובה

הערות עריכה

1. אופן פעולה זקוק להסבר מפורט ובהיר יותר - כדאי אולי להסביר את התפחותו של תהליך באופן תאורטי ואז לתת דוגמה ספציפית יותר (הרחבה של הדוגמה של עגלת הקניות) שתבהיר מה זה הבקר, מהו המבט וכו'.
2. כדי להרחיב ולתת הסבר מה החידוש שהיה בתבנית זו, מה היתרונות שלה מול תבניות קודמות (או העדר תבנית ברורה), ומה החסרונות שלה (נדמה לי שלעיתים קרובות לא ממשים מודל זה "עד הסוף").
3. כדאי לנסות להפטר ממונחים טכניים, (או לתת הסבר קצר) שלהדיוטות הם לא ברורים - "הבקר נרשם כ-Event Handler או Callback במבט" - זה ברור רק למתכנתים וגם זה לא לכולם.
4. אם מדברים על דבר מה בזמן אמת, כדאי להסביר את התכנון לפניו קודם, ואז שהתליך "יזרום" ולכן כדאי להעביר את המשפט "בשלב מוקדם יותר, בדרך כלל סמוך ליצירתו," - כדי להעביר לשלב מוקדם יותר.
5. להסביר על בעיות של הצבעה (מי מכיר את מי)? אולי לקשר לFACTORY? אולי להסביר מדוע התבנית היא מרכזית ביישומים מוכרים כמו MFC או אפילו חלונות (אולי לתת דוגמה משם שתהיה מוכרת ליותר אנשים) ?
6. הבדלים על יישומי התבנים בסביבת ווב וחלונאית. ?

בהצלחה. ותודה. באמת הגיע זמן שמישהו יכתוב קצת ערכים על תבניות עיצוב. האזרח דרור 16:46, 1 במרץ 2007 (IST)תגובה

מחלוקת בשאלת היישום עריכה

בערך נטען ש-"המבט מקבל בצורה עקיפה את החוכמת התצוגה שלו מהבקר, בדרך כלל באמצעות יישום של תבנית עיצוב Stratrgy." אין חולק שניתן ליישם MVC באופן שכזה. עם זאת, לא כל שימוש בממשק תוכנה (Interface) זכאי לתואר "תבנית Strategy", וברוב היישומים המודרניים, הבקר והמבט מחוברים יחד ואין הפרדה אמיתית ביניהם. רנדום 15:45, 14 בספטמבר 2007 (IDT)תגובה

במידה וישום מחבר בין הבקר ולמבט, זה כבר לא MVC. אגב, אם התייחסת למערכות WEB, זה ידוע שהן לא MVC קלאסי. STRATEGY דן בדליגציה של לוגיקה לאובייקט אחר, כלומר אובייקט המבט מקבל מהבקר מה לעשות. יום נפלא. --א.פ.וימר 16:17, 14 בספטמבר 2007 (IDT)תגובה

התמונה מבלבלת ומטעה עריכה

כל דוגמת MVC רואים בה שה VIEW פונה באופן ישיר ל controoler !!! אני בעד להעיף את התמונה הזאת, מישהו יכול לבדוק את זה או שזה סתם יחשב להשחתה. ? ―אנונימי לא חתםמש:אנונימי 00:00, 10 בינואר 2000 (IST)תגובה

שים לב שהתמונה הזו משמשת יותר מעשר ויקיפדיות בשפות אחרות, כולל האנגלית (שלה עורכים רבים). כלומר, אם אתה פוסל את המודל המתואר, תצטרך להתמודד גם עם עורכי ויקי האנגלית למשל. האם אתה יכול לספק מקור חלופי? שרשרשיחה 21:55, 1 בנובמבר 2010 (IST)תגובה
שים לב ש"הקווים הרצופים מתארים קשר ישיר, והקווים המנוקדים מתארים קשר עקיף" - הקשר של הView לController נעשה באמצעות Observer. ערן - שיחה 21:59, 1 בנובמבר 2010 (IST)תגובה
זה לא תמיד קורה בשטח, יש לי כמה מקורות אינטרנטים שרואים שם בבירור שה VIEW פונה באופן ישיר ל CONTROLLER, ודרך אגב ה MODEL גם יכול לפנות באופן ישיר ל CONTROLLER וזה לא פוסל שום דוגמת MVC מה ובתמונה מופיע משהו שונה בגרוש
  • לא הבנתי, אמרת שרואים בתמונה שהVIEW פונה לController, ושצריך להוריד אותה, ומצד שני שיש מקורות שבהם רואים שהView פונה בצורה ישירה לController אז לא ממש הבנתי. תוכל להסביר?
  • יש הרבה וריאציות של MVC. מאמר טוב בנושא הזה יש למרטין פאולר ערן - שיחה 22:26, 2 בנובמבר 2010 (IST)תגובה
אמרתי שבמלא מקורות ה VIEW פונה באופן ישיר ל controller, ובתמונה מופיע הפוך, ואדרבה אם יש הרבה וריאציות אז למה שמו בתמונה 'סוג' אחד ? אז למעשה התמונה מבלבלת ומטעה כי היא מצידה סוג אחד מכמה אפשריות לפי טענתך <!>
לדעתי התמונה בסדר ומצוין שמשתמשים במימוש השל Observer:
  • המודל כמובן לא מכיר את הController ואת הView, וזה משתקף בתרשים (אין קו ישיר בין המודל לView או לController).
  • הView מכיר את הModel - אליו הוא נקשר ואת המידע שלו הוא מציג, וגם זה משתקף בגרף (קו ישר מהView לModel).
  • הView מתעדכן על פי הModel (באמצעות Observer), וזה משמעות הקו המקווקו מהModel לView.
  • הController מכיר את הModel, פעולות שמבוצעות בView מגיעות לController שמפעיל את הפעולה המתאימה בModel.
  • הController מקבל עדכון על פעולה בView (הקו המקווקו), שוב באמצעות Observer.
  • הController מכיר את הView, קורא ממנו את המידע ומחליט לפי זה איזו פעולה לבצע על הModel.
ערן - שיחה 00:20, 4 בנובמבר 2010 (IST)תגובה

משוב מ-16 בפברואר 2012 עריכה

ערך גרוע, מתרגם מונחים שחייבים להשיאר באנגלית (מודל, מבט, בקר). כתיבה מסורבלת - נראית כתרגום מכונה (לדוגמה: "המבט מקבל בצורה עקיפה את *החוכמת* התצוגה שלו מהבקר") 79.182.36.27 23:50, 16 בפברואר 2012 (IST)תגובה

תודה על תשומת הלב, לפחות תקלת ההקלדה תוקנה. שרשרשיחה 00:11, 17 בפברואר 2012 (IST)תגובה
חזרה לדף "Model View Controller".