שיטות עבודה מומלצות ב- ASP.Net MVC

זהו פוסט נוסף בסדרת המאמרים בנושא שיטות עבודה מומלצות. בזה אני אציג את השיטות המומלצות שיש לבצע בהתאם לעבודה עם ASP.Net MVC.

מהו דפוס העיצוב של ה- MVC?

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

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

הבקר

עליך למחוק את קבצי קוד ההדגמה - את הקובץ AccountController.cs מכיוון שבכל מקרה לא היית זקוק לו. AccountController נוצר כברירת מחדל ואינו נחוץ - פשוט מחק אותו! אתה צריך גם לצמצם את הזיווג בין הבקרים שלך לבין תלות אחרות כמו רכיב גישה לנתונים, חסימת חסימת רישום וכו '. הבקרים צריכים להיות דקיקים ככל האפשר ולהכיל הרבה פחות קוד. באופן אידיאלי, עליכם להקצות את זרימת הבקרה לרכיב לוגי עסקי כלשהו בתוך מחלקת הבקר שלכם. יש לבודד את הבקר ביישום MVC ASP.Net משכבת ​​הגישה לנתונים - הבקר אחראי להציג את התצוגה המתאימה בזמן הריצה על סמך פעולה מסוימת.

איגוד וקיצור התסריט וקבצי CSS

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

קטע הקוד הבא ממחיש כיצד תוכלו ליצור אובייקט חבילה עבור ה- CSS שהיישום שלכם צריך להשתמש בו.

בטל סטטי ציבורי ריק RegisterBundles (

                       חבילות BundleCollection)

{

   bundles.Add (StyleBundle חדש ("~ / Content / Styles")

       .כלול ("~ / Content / Styles / bootstrap.css",

                "~ / תוכן / סגנונות / .css"));

}

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

  .לִכלוֹל(

     "~ / Content / Scripts / -1.0.0.js",

     "~ / Content / Scripts / knockout-3.0.0.js")

);

שים לב כיצד משמש מחלקת ScriptBundle לאגד את תוכן הסקריפט. באופן דומה, מחלקת StyleBundle (כפי שמוצג בדוגמה הקודמת) משמשת לצרור את תוכן ה- css עליו דנו קודם.

עליכם לבטל גם את בדיקת המסלולים אלא אם כן הדבר נחוץ לחלוטין בכדי למנוע את תקורות העיבוד המיותרות הכרוכות בכך.

צפיות

עליכם להשתמש בתצוגות מוקלדות בכל מקום אפשרי - הייתי ממליץ לשלוח POCOs לתצוגות ביישום ה- MVC ASP.Net שלכם. עליכם לבצע את כל העיבודים בבקריכם ולא בתצוגות - התצוגות צריכות להיות רזות ולא צריכות להכיל שום קוד לוגיקה עסקי. עליך להשתמש בכמות מינימלית של TagHelpers בעוזרי ה- HTML שלך, וכדאי לזכור להשתמש ב- HTMLHelpers רק כאשר אתה צריך לקבל החלטות מותנות על הנתונים דרך התצוגות. אם יש צורך בהצהרה מותנית בעיניך, עליך להעביר אותה ל- HtmlHelper. ה- HtmlHelpers לעולם לא יכיל קוד שמפעיל את שכבת הגישה לנתונים, כלומר עליכם להימנע מלכתוב לוגיקת גישה לנתונים בתוך ה- HtmlHelpers. אתה לא צריך להכניס קוד JavaScript לתצוגה שלך - להפריד אותם לקבצי סקריפט מובחנים.

שמור את הנתונים שלך במטמון

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

בקר בכיתה ציבורית: בקר

{

    [OutputCache (משך = 3600,

VaryByParam = "none")]

    אינדקס ActionResult ציבורי ()

    {

    }

}

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

[OutputCache (משך זמן = 3600)]

אינדקס ActionResult ציבורי ()

{

  חזרה View ("אינדקס", myDataObject);

}

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