כיצד ליישם אדריכלות MVC בג'אווה?



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

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

הנושאים שיוסקרו במאמר זה הם כדלקמן:





כיצד להכריז על מערך דינמי

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

  • דפוס עיצוב , בהנדסת תוכנה, היא טכניקה לפתרון בעיה נפוצה בעת תכנון תוכנה.
  • עיצוב דגם, מציין באיזה סוג ארכיטקטורה אתה משתמש כדי לפתור את הבעיה או לעצב את המודל.
  • יש שני סוגי דגמי עיצוב : אדריכלות מודל 1 , אדריכלות מודל 2 (MVC).

מהי MVC אדריכלות בג'אווה?

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



  • דֶגֶם - מייצג את הרובד העסקי של האפליקציה
  • נוף - מגדיר את הצגת היישום
  • בקר - מנהל את זרימת היישום

MVC - אדריכלות MVC בג

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



  1. הדפדפן בלקוח שולח בקשה לדף לבקר שנמצא בשרת
  2. הבקר מבצע את פעולת הפעלת המודל ובכך מאחזר את הנתונים שהוא זקוק לו בתגובה לבקשה
  3. הבקר ואז נותן את הנתונים שנאספו לתצוגה
  4. התצוגה מוצגת ונשלחת חזרה ללקוח להצגת הדפדפן

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

יתרונות ארכיטקטורת MVC בג'אווה

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

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

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

יישום MVC באמצעות Java

כדי ליישם יישום אינטרנט המבוסס על דפוס עיצוב MVC, ניצור

  • כיתת קורס , הפועל כ- שכבת מודל
  • קורס קורס תצוגה , המגדיר את שכבת המצגת ( שכבת תצוגה )
  • קורס קורס בקרה , הפועל כ- בקר

עכשיו, בואו נחקור את השכבות האלה אחת אחת.

שכבת הדגם

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

חבילה MyPackage מחלקה ציבורית קורס {פרטי מחרוזת קורס שם פרטי מחרוזת CourseId פרטי מחרוזת קורס קטגוריה ציבורית מחרוזת getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} set public name ריק (שם מחרוזת) {this.CourseName = name} ציבורי String getCategory () {return CourseCategory} public void setCategory (קטגוריית מחרוזות) {this.CourseCategory = קטגוריה}}

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

שכבת הנוף

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

חבילה MyPackage Class class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('פרטי קורס:') System.out.println ('שם:' + CourseName) System.out.println ('מזהה קורס:' + CourseId) System.out.println ('קטגוריית הקורס:' + קטגוריית הקורס)}}

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

שכבת הבקר

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

כיצד להרכיב תוכנית Java - -
חבילה MyPackage מחלקה ציבורית CourseController {פרטי דגם קורס פרטי CourseView תצוגה ציבורית CourseController (מודל קורס, תצוגת CourseView) {this.model = מודל this.view = תצוגה} public void setCourseName (שם מחרוזת) {model.setName (שם)} מחרוזת ציבורית getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (קטגוריית מחרוזות) {model.setCategory (קטגוריה)} מחרוזת ציבורית getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

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

מחלקת Java ראשית

בואו נקרא לכיתה זו 'MVCPatternDemo.java'. בדוק את הקוד למטה.

חבילה MyPackage מחלקה ציבורית MVCPatternDemo {public static void main (String [] args) {// להביא רשומת סטודנטים על סמך roll שלו ממסד הנתונים דגם הקורס = retriveCourseFromDatabase () // צור תצוגה: לכתוב פרטי קורס בקונסולה תצוגת CourseView = חדש CourseView () בקר CourseController = CourseController חדש (דגם, תצוגה) controller.updateView () // עדכן בקר נתונים נתוני מודל.setCourseName ('Python') System.out.println ('n לאחר העדכון, פרטי הקורס הם כדלקמן') controller.updateView ()} קורס סטטי פרטי retriveCourseFromDatabase () {קורס קורס = חדש קורס () קורס.סטנאם ('Java') קורס.סטיד ('01 ') קורס.setCategory (' תכנות ') קורס החזרה}}

הכיתה הנ'למביא את נתוני הקורס מה- באמצעות איזה משתמש מזין את קבוצת הערכים. לאחר מכן הוא דוחף את הערכים הללו למודל הקורס. לאחר מכן, הוא מאותחל את התצוגה שיצרנו קודם במאמר.יתר על כן, זה גם קורא את קורס בקרה כיתה וקושר אותה ל קוּרס הכיתה וה ViewView מעמד. ה updateView () השיטה שהיא חלק מהבקר ואז מעדכנת את פרטי הקורס בקונסולה. בדוק את הפלט למטה.

תְפוּקָה

פרטי הקורס: שם: Java מזהה קורס: 01 קטגוריית הקורס: תכנות לאחר העדכון, פרטי הקורס הם כדלקמן: פרטי הקורס: שם: Python מזהה קורס: 01 קטגוריית הקורס: תכנות

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

דאג שתתאמן ככל האפשר ותחזיר את החוויה שלך.

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

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