
הטקסט המלא של הדקות הראשונות בהרצאה «שימוש באזורים - Areas» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לנושא שנקרא אריאז. מה זה אריאז? אריאז זה אזור נפרד באתר mvp שאנחנו בונים שיכול לשרת תחום נפרד באתר. לדוגמה אם אנחנו בונים אתר גדול אז יכול להיות שיהיה לנו באתר המון קונטרולרים, לכל קונטרולר יש המון views ובסופו של דבר יהיו לנו המון המון קבצים באתר ויהיה מאוד קשה לתחזק אותו, לתקן באגים, להתמצא בו.
בן אדם חדש שמגיע לאתר יהיה לו קצת יותר קשה להבין מה קורה בו. אז לדוגמה בוא נניח שהאתר שלנו מתעסק במקצרים, יש לו גם אזור של ספקים ויש לו גם צורך באדמיניסטרציה, אז אנחנו יכולים לבצע הפרדה של כל אחד מהקונספטים האלה, כל אחד מהחלקים האלה בפרויקט mvc1.
איך זה מתבצע? יש לנו פה קודם כל פרויקט חדש שפתחתי, קראתי לו areas יכול להיות לו כל שם אחר ויש לו את הקונטרולרס את המודלס ואת הviews שלו בואו נוסיף קונטרולר נקרא לו home בתוך הקונטרולר נוסיף לפונקציה view יש לנו פונקציה ראשונה בואו נבצע גלישה נראה שזה עובד נגדיר בלייאוט איזשהו צבע נגדיר background color
light משהו בואו ניקח light blue נראה שזה תופס כי אנחנו רוצים לראות שהלייאוט הזה תופס גם לאזורים אחרים בפרויקט עכשיו עכשיו איך אנחנו מגדירים אזור נפרד לגמרי באתר שלנו?
כל מה שאנחנו צריכים לעשות זה ללחוץ מקש ימני על הפרויקט, לבצע Add Area, כלומר אזור נפרד באתר שלנו.
בואו נניח שהאזור הנפרד שאנחנו בונים הוא מיוחד עבור ספקים שהם בעצם יכולים להיכנס, יש להם איזשהו Back Office והם יכולים לנהל דברים שקשורים לספקים.
להם יש כל מיני קונטרולרים וכל מיני Views ומודלים שקשורים רק לספקים, אנחנו לא רוצים לערבב את הקונטרולרים, את ה-Views ואת המודלים שלהם עם שאר הדברים של האתר.
אז אנחנו פותחים Area עבור Suppliers. עכשיו שימו לב מה קרה. אוטומטית נוצרו לנו באתר סדרה של תיקיות של קונטרולרים, מודלים ו-Views, כולל Shared, כולל Web Config ששייך ל-Area הזה, כולם בתוך תיקייה שנקראת Areas.
בנוסף, יש לנו פה קובץ שנקרא Suppliers Area Registration, והוא מגדיר את הראוטס עבור האזור הזה, עבור האריה של הסופליירס.
אז בואו נזכר, נרשום לעצמנו שיש את הקובץ הזה, ונחזור אליו עוד מעט. כרגע נוסיף קונטרולר, ובואו נניח שאנחנו בסופליירס קונטרולר.