PracticU

ארכיטקטורה של MVC

בלי כתוביותעם כתוביות
PracticU › קורס MVC › ארכיטקטורה של MVC
מילון מושגים:
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
קונטרולר - רכיב שמתווך בין הממשק לבין הלוגיקה והנתונים, מקבל בקשות ומחליט כיצד לטפל בהן (למשל בדפוס MVC).
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.

ארכיטקטורה של MVC
השיעור מסביר את ארכיטקטורת MVC, שמחלקת מערכת אתר לשלושה חלקים: Model, View ו-Controller. הוא משווה אותה לגישה הקודמת של ASP.NET, שבה הלקוח גלש לדפים עם סיומת aspx.
השלבים העיקריים
1. מודל: מחלקות המידע של המערכת, למשל מחלקה שמתארת לקוח ומחלקה שמתארת אוסף לקוחות.
2. קונטרולר: המוח של המערכת. הוא מקבל את הבקשה, פונה למקור הנתונים, יוצר את המודל ומעביר אותו לתצוגה.
3. תצוגה (View): הדפים שהלקוח רואה. התצוגה משתמשת במודל כדי לבנות את עצמה.
4. זרימת בקשה: הלקוח שולח בקשה לקונטרולר, הקונטרולר מביא נתונים, התצוגה נבנית והתשובה חוזרת לדפדפן.
5. ולידציה: בדיקת תקינות, למשל שם פרטי או אימייל, יכולה להיות מוגדרת במודל, והתצוגה משתמשת בה.
שימו לב
ב-ASP.NET הלקוח גלש לדף, ולכן עם כל דף מופעל מחזור חיים של אירועים בשרת. ב-MVC הלקוח מגיע לפעולות בקונטרולר דרך נתיב URL, ומחזור האירועים של הדף הוסר. נתיב כזה מסייע גם למנועי חיפוש להבין את תוכן הדף.
בסיום השיעור יש הבנה של שלושת החלקים של MVC ושל ההבדלים בינו לבין ASP.NET הישן.
השיעור הבא בקורס: פרוייקט ראשון ב-MVC
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: ארכיטקטורה של MVC

  1. 00:00

    משמעות MVC - Model

  2. 00:42

    View ו-Controller

  3. 01:41

    זרימת העבודה ב-MVC

  4. 02:39

    ההבדל מ-ASP.NET

  5. 03:21

    גלישה לפונקציות במקום דפים

  6. 04:36

    ביטול ה-Page Life Cycle

  7. 05:14

    הפרדת חלקי המערכת

תמלול ההרצאה: ארכיטקטורה של MVC

הטקסט המלא של הדקות הראשונות בהרצאה «ארכיטקטורה של MVC» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:04

    אז הדבר הראשון שאנחנו הולכים לראות זה מה זה אומר הקיצור MVC ומה זאת בעצם הארכיטקטורה הזאת. אז MVC מתאר בעצם design pattern, כלומר מבנה של מערכת.

  2. 00:18

    ה-M ב-MVC מתאר מודל. מה זה בעצם מודל? מודל זה מחלקות המידע שיש לנו במערכת. לדוגמה, אם אנחנו מתעסקים בלקוחות, אז אמורה להיות לנו איזושהי מחלקה שמתארת לקוח אחד ואולי גם מחלקה שמתארת אוסף לקוחות.

  3. 00:36

    המודל מתאר את הקבוצת מחלקות הזאת. ה-V ב-MVC מתאר Vue. אלו אוסף הדפים שהלקוח בסופו של דבר רואה ואלה הדפים שמגיעים ללקוח.

  4. 00:48

    ה-C ב-MVC מתאר קונטרולר. קונטרולר זה המוח של המערכת. המוח מכיל את כל מה שהמערכת צריכה לבצע בסופו של דבר.

  5. 00:59

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

  6. 01:13

    לקוח מבצע בקשה עבור הקונטרולר, או יותר נכון פונה לקונטרולר ומבקש פקודה מסוימת או ביצוע בקשה מסוימת. הקונטרולר אז לוקח את המודל, אובייקטים שאנחנו צריכים להחזיר ללקוח, ויוצר איתם את ה-view, זאת אומרת שהוא יוצר את הדפים שבסופו של דבר חוזרים ללקוח.

  7. 01:39

    לדוגמה, יש לנו מחלקה שמתארת לקוח, קסטומר, הקונטרולר פונה לדאטאבייס, מקבל ממנו בוא נניח רשימת לקוחות, ומחזיר לגולש דף שמכיל את רשימת הלקוחות.

  8. 01:57

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

  9. 02:24

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

  10. 02:46

    עכשיו, ארכיטקטורת MVC זה בעצם הגישה החדשה יותר לפיתוח אתרי אינטרנט. הגישה הקודמת שהייתה מבית מייקרוסופט נקראת ASP.NET. כמה הבדלים בין MVC לבין ASP.NET למי שמכיר ASP.NET.

  11. 03:02

    דבר ראשון, ב-ASP.NET לקוח היה גולש לדף. היינו לנו דפים עם סיומת ASPX, ולקוח פשוט היה רושם בדפדפן www.שם האתר, אולי נקודה.coil, ואז איזשהו שם של דף, נניח product.spx, מבצע גלישה לדף הזה, ומיידית מקבל את כל הדף עם התצוגה שלו.

  12. 03:27

    ב-MVC זה לא מה שמתבצע. לקוח לא גולש לדפים, שזה נראה קצת מוזר. לקוח גולש לפונקציות שנמצאות בתוך ה-controller, ישירות לתוך פונקציות, ומסוגל גם לשלוח להם פרמטרים על ידי שורת ה-URL.

  13. 03:45

    כל הנושא הזה של מה לכתוב בשורת ה-URL בכדי להגיע בדיוק לפונקציה שנמצאת בקונטרולר נקרא ראוץ. זה נושא שנדבר עליו בהרחבה בהמשך. ראוץ זה בעצם הנתיב שאליו אנחנו גולשים.

  14. 03:59

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

  15. 04:20

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

  16. 04:35

    מנועי חיפוש יכולים לנתח את הנתיבים האלה בצורה יותר מדויקת ולהעלות את הדפים שלנו יותר גבוה במנועי החיפוש. הבדל נוסף ב-sp.net כאשר גלשנו לדף היה מה שנקרא Page Life Cycle זה בעצם סדרה של אירועים שכל פעם שהיינו גולשים לאיזשהו דף האירועים האלה היו

  17. 04:58

    מתבצעים בצד של השרת וגוזלים המון זמן. ב-MVC אין את כל האירועים האלה. כל מה שקשור ל-Page Life Cycle הוציאו ולכן יש את המינימום שמתרחש בצד של השרת בכדי להביא ללקוח ממש תצוגה של דף.

  18. 05:16

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

  19. 05:40

    עצמם שאנחנו בונים אותם לרוב html או צד לקוח. לכן אם אנחנו בונים את המערכת הזאת ב-MVC יש פה ממש יש חלוקה מדויקת של חלקים במערכת.

  20. 05:53

    עבור פרויקטים בינוניים ומעלה, הדבר הזה הוא הרבה יותר מסודר מאשר כל המידע פשוט שוכב לו בדפים ב-sp.net. וכך בן אדם חדש יכול להיכנס למערכת קיימת וישר להתמצא שם, ישר לדעת מי מחלקות המידע, מהו המוח שמבצע את הפעולות ומה קורה בדפים

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: מבוא ל-MVC - סרט חשוב - חובה לראות !!!

ההרצאה הבאה: פרוייקט ראשון ב-MVC

הרצאות קשורות מקורסים אחרים

  • ארכיטקטורה של Kubernetes
  • הסבר על ארכיטקטורה REST
  • הסבר על MVC
  • לוח אם ומעבד - ארכיטקטורה של המעבד

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס Git ו-GitHub עם Visual Studio