MVC - כן, אבל...

בטיטi

New member
MVC - כן, אבל...

קראתי, הבנתי ש Model מייצג את מודל הנתונים, View מייצג את התצוגה, וה Controler אחראי על החיבור בינהם, אבל איך אני מתרגם את זה לפרקטיקה ? נניח ויש לי טבלה ב DB, שאני רוצה להציג את נתוניה על כמה TextBoxs במסך. ה Model שלי יהיה Typed DataSet שלתוכו אני טוען את הנתונים מה DB ה View שלי יהיו אוסף של TextBoxes וה Controles יהיה Class, שאני יפעיל בו פונקציה "הצג שדה במסך", יאמר לו איזה שדה מתוך ה Typed DataSet, צריך להיות מוצג על איזה TextBox במסך ? נראה לי שפיספסתי משהו, לא ?
 

עידו פ

New member
לא בדיוק

הרעיון של MVC הוא שה-controller משמש את ה-view כשכבת עזר לאחזור ותיקון ה-model (להבדיל מ-MVP של שכבת ה-Presenter מפעילה את ה-view). ההגדרה שלך של model ו-view נכונה. ה-contoller יהיה class שיש בו מתודות מהסגנון הבא : - אחזר פרטים - מחק רשומה - עדכן רשומה - הוסף רשומה חדשה ד"א, אני לא בא וטוען שה-controller הוא רק פעולות CRUD (ר"ת של create/read/update/delete) - ה-controller הוא אכן זה שמגשר בין ה-view ל-db ולכן הוא כמובן נותן שירותי עדכון והוספה, אבל זה לא בהכרח אומר שיש מתודה אחת לעדכון ואחת למחיקה - זה כבר תלוי באופן שאתה מעצב את ה-controller והאופן בו מאופיינת המערכת.
 

בטיטi

New member
אםא ני מנסה לתרגם את זה

אז למשל ב Page_Load של המסך, קונטרול תצוגה (Textbox למשל) יפעיל את ה Controller, ויפעיל בו מתודה של "אחזר/החזר שם מדינה, ה Controller יפעיל את ה Model, יקבל ממנו את שם המדינה, יחזיר את שם המדינה ל Textbox שיציג אותו במסך ?
 

עידו פ

New member
בגדול כן

אם אני מזהה נכון, אתה מדבר על אפליקציית asp.net. בדפי ASPX קיימת הפרדה ל-ASPX ול-code behind שמאחוריו, ולכן בגדול, אפשר להסתכל על זה כעל aspx=view ו-code behind = controller.
 

עידו פ

New member
וכמה לינקים לקריאה

http://ootips.org/mvc-pattern.html http://www.darronschall.com/weblog/archives/000113.cfm
 
למעלה