מודל-מבט-בקר (MVC) מוסבר באמצעות הזמנת משקאות בבר

אם היית בבר, אז MVC לא כל כך קשה.

מסגרות MVC (Model-view-controller) הן חלק מכריע בבניית יישומי אינטרנט מודרניים. היכנס לחדר של מפתחי אתרים, וסביר להניח שתופצץ עם אזכורים של Ruby on Rails, Angular או Django.

באופן כללי יותר, ניתן להשתמש בהיגיון MVC לתיאור כמעט כל תהליך פיתוח אתרים המשתמש בשפה כמו PHP, Ruby, Python או JavaScript.

על כל פנים…

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

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

פריצה באומץ דרך המכשולים עד שהמציאות פוגעת

מהו דפוס ה- MVC?

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

או, בצורה תרשים:

זה היה משעמם. על הבר.

מפתח אתרים מתחיל נכנס לבר ...

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

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

הברמן נותן לך הנהון מהיר. בעיני הברמן מנהטן אינה משקה טעים, אלא בסך הכל שלבים:

  1. תפוס כוס
  2. הוסיפי וויסקי
  3. מוסיפים ורמוט
  4. הוסף מריר
  5. מערבבים משקה
  6. הוסף דובדבן
  7. בקש כרטיס אשראי וחיוב.

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

  • ידיו של הברמן
  • שייקר / ציוד ערבוב
  • משקאות חריפים
  • תערובות
  • משקפיים
  • קישוטים

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

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

לקחים

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

לקשור אותו לפיתוח אתרים

כך מתרחש אותו תהליך באפליקציית אינטרנט מודרנית:

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

בכל פעם שנכנסת בקשה, עליה לעבור לבקר לפני שתוכל להמיר אותה לתצוגה או לדגם. מאמר ה- Ruby on Rails בויקיפדיה מכיל סקירה נוספת אם אתה מחפש עוד.

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

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

נהניתם מהמדריך הזה? ספר לי בתגובות!