מהו MVC? הכירו את ארכיטקטורת התוכנה הזו!

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

מה זה mvc-2

בקר MVC או Model View Controller, הדרך החדשה לקודד

מהו MVC?

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

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

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

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

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

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

מהו MVC?: היסטוריית הדגם, הצפיות והבקרים

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

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

Smalltalk-80 היא שפת תכנות פעילה שבניגוד ל- MCV אינה מפרידה בין המושגים והפונקציות שלה. האיגוד של MCV יינתן עבור ספרייה עובדת, ובוחנת את הבסיסים שלה.

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

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

בקר תצוגת מודלים היררכי (HMVC)

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

מתאם תצוגת דגם (MVA)

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

מגיש תצוגת דגמים (MVP)

ממשיך להציג את Model View Presenter לעיצוב נקודות החיבור בין המשתמש למחשב. הוא משמש לבדיקות שבהן השרת נותן תגובות אוטונומיות והופך את הנתונים שהמודל נותן לו ודוחס אותו לתצוגה.

מודל View View (MVVM)

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

מה טוב ב- MVC?

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

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

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

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

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

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

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

HTML ללא MVC

בהתחלה זה יכול להיות מטושטש כל ההסבר של ארכיטקטורת התוכנה הזו, אולם הם לוקחים בחשבון משהו כמו רכיבי HTML, CSS ו- PHP.

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

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

קוד ספגטי

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

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

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

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

כך פועלת מערכת MVC, ייצוג פשוט של התהליך

מבוא למציג תצוגת הדגמים

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

המודל

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

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

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

בדרך כלל, המידע פועל עם בקרים אחרים, ובמקום להשתמש ב- SQL (שפת מערכת על מנת לקבל שליטה מלאה על הנתונים), הוא קבוע ישירות על שאר חלקי הנתונים, המורכבים מהמחלקה והאובייקט שלו.

לה ויסטה

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

אלמנט זה עובד עם קודי HTML ו- PHP, מכיוון שהם הקודים המתאימים ביותר לבניית דף, שרת וכו '. קודים אלה נשלחים אל הפלט, המהווה את השינוי הכולל של המידע שנשלח על ידי המודל.

הבקר

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

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

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

מהו mvc

כיצד הרכיבים מתקשרים?

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

  1. משתמש האינטרנט מתחיל להשתמש באפשרויות השונות כדי להיכנס לממשק המשתמש, כלומר, הוא נכנס לדף או לשרת באמצעות השלמה כלשהי.
  2. הבקשה מתקבלת על ידי הבקר, ששולח את ההודעה לצפייה ולדגם. כל בקשה מופעלת באמצעות מטפל אירועים (קוד Java או HTML, שנותן מענה לקוד חיצוני).
  3. הבקר למלא את הבקשה, נכנס למודל, שם הוא משתמש במידע ומשנה את הפעולה למה שהוא צריך. על מנת לבצע פעולות מסוימות, הבקר חייב להשתמש בקודים מכוסים שונים, בקיצור, דפוס פקודה.
  4.  במקרים מסוימים, הבקר לביצוע המשימה השלמה ישתמש בנתונים נוספים מהמודל, אותם עליו לשלוח כדי להציג, ופועלים כגשר.
  5. הבקר שולח את כל המידע והסדר שנתן משתמש האינטרנט למראה, אשר חייב להציג הדמיה של הרצוי.
  6. הנוף, על מנת לתת הדמיה טובה, משתמש במידע רב ככל האפשר מהמודל ומשקף את כל מה שיש בו.
  7. מכיוון שהמודל אינו יכול לקבל מידע על המתרחש בראייה, הוא משתמש בסוג של תוכנה המזהירה אותו מפני כל שינוי ובדרך זו מבצעת את השינוי הדרוש במידע או בממשק.
  8. הממשק חוזר על התהליך בהתאם לכל אינטראקציה שיש למשתמש האינטרנט במספר הפעולות שהוא מבצע.

כיצד משתמשים בו ביישומי אינטרנט?

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

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

ארכיטקטורת ה- MVC לתגובה הווירטואלית היא של "לקוח ושרת", בתכנית זו הלקוח מבקש בקשה והשרת יהיה המקלט, שייתן תוצאה או תגובה לבקשה.

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

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

MVC ומאגרי מידע

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

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

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: בלוג Actualidad
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.