PracticU

שינוי מרחב השמות - Namespace

בלי כתוביותעם כתוביות
PracticU › קורס MVC › שינוי מרחב השמות - Namespace
מילון מושגים:
Namespace - מרחב שמות שמקבץ שמות של טיפוסים ורכיבים ומונע התנגשות בין שמות זהים בחלקים שונים של הקוד.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.

שינוי מרחב השמות - Namespace
ההרצאה מסבירה כיצד להגדיר מרחב שמות (Namespace) משלנו לפרויקט MVC מלכתחילה, כדי שכל המחלקות החדשות ייכנסו אליו ולא יופיע שם ברירת מחדל של הפרויקט או של התיקייה.
מה זה מרחב שמות
1. הגדרה: מרחב שמות הוא מעטפת שמית שעוטפת מחלקות, סטרוקטים, enum, delegate ו-interface.
2. מניעת התנגשויות: בעזרת מרחב שמות מונעים כפילות שמות בין מחלקות שלנו לבין מחלקות בספריות (DLL) אחרות.
3. ברירת מחדל: ב-MVC מרחב השמות נקבע אוטומטית לפי שם הפרויקט, וכל תיקייה מוסיפה לו סיומת. המצב הזה לא תמיד רצוי.
הגדרה בתחילת הפרויקט
1. שם הפרויקט: נבחר שם שמייצג את החברה או המוצר, והפתרון נוצר בתיקייה משלו.
2. Default namespace: בתכונות הפרויקט משנים את שדה ה-Default Namespace לשם הרצוי. Visual Studio מציע לשנות את השם בכל הקבצים, ומאפשר שהשם יחול גם על מחלקות חדשות.
3. תיקיות: כשמוסיפים מחלקה בתיקייה, מרחב השמות שלה נקבע מהשם הכללי ומשם התיקייה. לכן עדיף למחוק את הסיומת, כדי שכל המחלקות יהיו באותו מרחב.
בדיקה
1. מודל: מחלקת Product נוצרת תחת המרחב החדש, והתצוגה מזהה אותה דרך @model בלי צורך בנקודה נוספת בשם.
2. מערכות ישנות: במערכות MVC ישנות יותר השם לא נקבע אוטומטית, ויש לרשום את שם המרחב ידנית בקובץ התצוגה הרלוונטי.
סיכום
בסיום ההרצאה כל המחלקות החדשות מוגדרות אוטומטית במרחב השמות שנקבע בתחילת הפרויקט.
השיעור הבא בקורס: החזרת ערכים מה-Controller
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: שינוי מרחב השמות - Namespace

  1. 00:00

    מה זה מרחב שמות

  2. 00:37

    מרחבי השמות ש-MVC יוצרת

  3. 01:34

    שם הפרויקט וה-Solution

  4. 02:30

    מחלקה עם מרחב שמות לא רצוי

  5. 03:06

    שינוי מרחב השמות בקובץ App_Start

  6. 03:59

    Smart Tag ושינוי ה-Default Namespace

  7. 04:38

    בדיקה ב-Properties והוספת Product

תמלול ההרצאה: שינוי מרחב השמות - Namespace

הטקסט המלא של הדקות הראשונות בהרצאה «שינוי מרחב השמות - Namespace» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:09

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

  3. 00:20

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

  4. 00:31

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

  5. 00:47

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

  6. 01:07

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

  7. 01:25

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

  8. 01:34

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

  9. 01:56

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

  10. 02:09

    חשוב מאוד להשאיר Create Directory for Solution בכדי שתיווצר תיקיית M עבור כל הפרויקטים השונים, זאתי תיקיית ה-Solution, ונבצע אוקיי.

  11. 02:22

    נבחר שוב פעם ב-empty ונצרף איזושהי מחלקה בשביל לראות מה הכוונה. נלך ל-Models, נבצע Add Product, או יותר נכון Class Product, ניתן לה את השם Product, ואוטומטית אנחנו רואים שיש לנו את השם ChangingNamespace, שזה השם שנתתי לכל הפרויקט.

  12. 02:44

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

  13. 02:56

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

  14. 03:26

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

  15. 03:52

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

  16. 04:10

    לכן אני לוחץ קונטרול נקודה או קונטרול צדיק סופית אם המקלדת בעברית ואני רואה שיש לי פה Rename Changing Namespace to Practic U אני לוחץ enter ואז הוא שואל אותי שאלה מאוד חשובה האם אני רוצה שהשינוי הזה לא רק יתבצע על הקובץ הנוכחי אלא מעכשיו והלאה זה יהיה מרחב השמות הדיפולטי עבור כל מחלקה חדשה

  17. 04:31

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

  18. 04:45

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

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: פרוייקט ראשון ב-MVC

ההרצאה הבאה: החזרת ערכים מה-Controller

הרצאות קשורות מקורסים אחרים

  • מרחבי שמות - namespace
  • הסבר על Kubernetes - Namespace
  • שינוי שם מחשב - Hostname
  • שינוי חתימה של Payload

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס Git ו-GitHub עם Visual Studio