PracticU

תרגילים על Managing Resources

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

תרגילים על Managing Resources
התרגילים מתרגלים שחרור משאבים ב-C#: IDisposable, הפקודה using, ירושה עם Dispose ותבנית ה-Dispose Design Pattern.
התרגילים
1. EmailSender: הקונסטרקטור מציג הודעה שנפתח קישור לאינטרנט. פונקציית שליחה מדמה מקבלת כתובת, נושא וגוף ומציגה אותם. ממשו IDisposable כך ש-Dispose מודיעה שהחיבור נסגר. ב-Main צרו אובייקט בלי using, שלחו וקראו ל-Dispose בעצמכם.
2. חריגה: גרמו לחריגה בפונקציית Send ובדקו אם Dispose רצה.
3. שימוש ב-using: צרו את האובייקט עם using ובדקו שגם עם חריגה ב-Send ה-Dispose רצה.
4. BulkEmailSender: מחלקה שיורשת מ-EmailSender, עם מתודה שמקבלת List של מחרוזות, נושא וגוף ושולחת לכל הכתובות בעזרת פונקציית הבסיס. דרסו את Dispose עם הודעה אחרת על שחרור משאבים נוספים. בדקו ששתי הודעות ה-Dispose מוצגות, זו של הבסיס וזו של הנגזרת.
5. FileEncryptor: מחלקה עם StreamReader ו-StreamWriter פרטיים. הקונסטרקטור מקבל שמות קובץ מקור ויעד ויוצר אותם. Encrypt קוראת שורה אחר שורה, מזיזה כל תו בקבוע ושומרת לקובץ השני. כתבו את המחלקה לפי ה-Dispose Design Pattern ובדקו ב-Main עם using.
אחרי התרגילים תוכלו לכתוב מחלקה ששומרת משאבים ולוודא שהיא משחררת אותם גם כשיש חריגה או ירושה.
השיעור הבא בקורס: Dot Net Basic Terms and Versions

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

  1. 00:00

    מחלקת EmailSender ו-IDisposable

  2. 00:38

    שימוש ב-Dispose עם וללא Using

  3. 01:16

    מחלקת BulkEmailSender

  4. 01:50

    דריסת Dispose במחלקה היורשת

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

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

  1. 00:02

    רגילים בנושא Managing Resources. צאו מחלקה בשם E-Mail Sender. בקונסטרקטור שלה הציגו איזושהי הודעה שמציינת שקישור לאינטרנט כרגע נפתח בכדי לשלוח אימייל.

  2. 00:17

    הוסיפו פונקציה ששולחת אימייל, מדמה שליחת אימייל, היא מקבלת כמה ארגומנטים E-Mail Address, Subject ו-Body ופשוט מציגה אותם על המסך. ממשו את iDisposable ובפונקציית dispose בצעו כתיבה של הודעה שמציינת שה-Connection לאינטרנט נסגר.

  3. 00:38

    בתוך ה-Main צרו אובייקט E-MailSender בלי שימוש בפקודת Using, קראו לפונקציה של שליחת המייל ולאחר מכן קראו בעצמכם לפונקציית Dispose.

  4. 00:50

    המשיכו מהתרגיל הקודם ובצעו גרימה של איזושהי חריגה בתוך הפונקציה Send ותבדקו האם Dispose אכן מתבצעת כרגע. המשיכו מהתרגיל הקודם וצרו אובייקט מה-E-Mail Sender אבל על ידי שימוש בפקודת Using, ובדקו האם Dispose אכן מתבצעת גם אם הייתה חריגה בתוך פונקציית send.

  5. 01:16

    המשיכו מהתרגיל הקודם וצרו מחלקה נוספת שנקראת Bulk E-Mail Sender. המחלקה הזאת צריכה לרשת מ-E-Mail Sender. Bulk זה כמויות.

  6. 01:28

    אתם רוצים שהמחלקה הזאת תאפשר לשלוח כמויות של אימיילים. תוסיפו מתודה למחלקה bulkEmailSender שמקבלת list של סטרינג שמתארת אימיילים, subject ו-body ופשוט שולחת לכל האימיילים האלה את האימייל.

  7. 01:45

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

  8. 01:56

    בצעו דריסה של dispose וב-dispose של bulkEmailSender

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

ההרצאה הקודמת: Managing Resources - חלק 2

ההרצאה הבאה: Dot Net Basic Terms and Versions

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

  • הרצאה על Resources
  • תרגילים 1-3
  • Qualifying Resources
  • הסבר על GROUPS RESOURCES

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

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