PracticU

תרגילים על AppDomain

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › תרגילים על AppDomain
מילון מושגים:
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).

תרגילים על AppDomain
תרגילים על AppDomain: טעינת DLL ל-AppDomain נפרד, העברת נתונים בין AppDomains והרצת אפליקציה אחרת בתוך AppDomain.
התרגילים
1. AnimalsLibrary: DLL עם מחלקה Cat (CatName ו-CatType). Console Application טוען אותו ל-AppDomain נפרד, יוצר שם אובייקט Cat ומציג אותו. הציגו את שם ה-AppDomain הנוכחי ב-Main ובקונסטרקטור של Cat.
2. Assemblies: אפליקציית קונסול שמציגה את שמות כל ה-assemblies שנטענו ל-AppDomain שלה. מותר לחפש בגוגל איך.
3. GraphicsLibrary: שתי מחלקות, Coordinate עם X ו-Y, ו-Circle עם Location מטיפוס Coordinate ו-Radius מטיפוס double. טענו שני אובייקטים נפרדים ל-AppDomain נפרד. מה צריך לעשות כדי ש-Coordinate ייטען ל-AppDomain של Main ו-Circle ל-AppDomain שיצרתם? הציגו את ה-AppDomain הנוכחי בקונסטרקטורים.
4. העברת נתונים: DLL עם Reporter ופונקציה PrintReport שקוראת GetData מה-AppDomain הנוכחי ומציגה. ה-Console Application יוצר AppDomain, טוען את ה-DLL, יוצר Reporter ושולח ערך עם SetData.
5. הרצת אפליקציה: אפליקציית קונסול שמקבלת ב-Main מערך מספרים ב-args ומציגה את הממוצע. אפליקציה שנייה מריצה אותה ב-AppDomain נפרד ומעבירה לה מספרים.
אפשר לתרגל כך הפרדה בין AppDomains, העברת נתונים ביניהם והרצת קוד בתוך AppDomain אחר.
השיעור הבא בקורס: Garbage Collector

פרקי ההרצאה: תרגילים על AppDomain

  1. 00:00

    יצירת Cat ב-AppDomain נפרד

  2. 00:38

    הצגת האסמבליז שנטענו

  3. 01:12

    טעינת Coordinate ו-Circle ל-AppDomain

  4. 01:48

    שליטה ב-AppDomain של אובייקטים

תמלול ההרצאה: תרגילים על AppDomain

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

  1. 00:02

    מגילים בנושא App Domain. צרו DLL בשם Animals Library. יצרו מחלקה בתוך ה-DLL הזה שנקראת Cat שמכילה CatName ו-CatType, השם של החתול והסוג של החתול.

  2. 00:17

    יצרו Console Application שמשתמש ב-DLL הזה. ב-Consol Application בצעו תאנה של ה-DLL לתוך App Domain נפרד. בתוך ה-App Domain הזה יצרו Object Cat, התחילו אותו בכמה ערכים והציגו אותו על ה-Consol.

  3. 00:33

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

  4. 00:54

    אם אתם לא יודעים איך עושים את זה, פשוט חפשו את זה בגוגל ותראו איך זה ניתן לביצוע ומה הקשר בין זה לבין האפ דומיין. עצרו DLL בשם Graphics Library. עצרו בתוכו שתי מחלקות, Coordinate שמכילה X ו-Y, שניהם אינטג'רים, Circle שמכיל לוקיישן מסוג Coordinate ו-Radius שזה דאבל.

  5. 01:18

    עצרו קונסול אפליקיישן שמשתמש ב-DLL הזה. בתוך הקונסול אפליקיישן עצרו AppDomain נפרד ובצעו טעינה לתוך ה-AppDomain הזה Object Coordinate ו-Object Circle, שני אובייקטים נפרדים.

  6. 01:33

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

  7. 01:48

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

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: AppDomains

ההרצאה הבאה: Garbage Collector

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

  • תרגילים 1-3
  • תרגילים על מטריצות בג'אווה
  • תרגילים מסכמים בנושא עיצוב

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

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט