PracticU

תרגילים על Serialization

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

תרגילים על Serialization
סדרת תרגילים על Serialization: שמירה וטעינה של אובייקטים בכמה פורמטים, והוספת הצפנה לתהליך. כל התרגילים נשענים על מחלקה אחת, iPhone.
התרגילים
1. שמירה בינארית: מחלקה iPhone עם Version ו-Price, שמממשת IEquatable. שמרו אובייקט לקובץ בינארי עם BinaryFormatter, טענו לאובייקט נפרד, הציגו את שניהם והשוו.
2. מערך ב-SOAP: מערך של אלף אייפונים אקראיים, שנשמר לקובץ XML עם SoapFormatter ונטען למערך אחר. משווים כל איבר בסדר עם Equals כדי לוודא שלא הייתה שגיאה.
3. הצפנה ב-ISerializable: ממשו ISerializable במחלקה. ב-GetObjectData הצפינו את המחיר ואת הגרסה, ובקונסטרקטור באותה חתימה פענחו והחזירו ל-data members. שמרו אובייקט אחד ל-XML, טענו, השוו ופתחו את הקובץ לראות אם המידע מוצפן.
4. מערך מוצפן: אותו תרגיל עם מערך של אלף אובייקטים, ובדיקה בקובץ שכל המידע מוצפן.
5. XmlSerializer: שמרו את המערך עם XmlSerializer במקום SoapFormatter, ובדקו אם יש הצפנה בקובץ.
התרגילים מלמדים להשוות אובייקט שנטען מקובץ לאובייקט המקורי ולבדוק מה באמת נכתב לקובץ.
השיעור הבא בקורס: יצירת DLL - חלק 1

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

  1. 00:00

    סריאליזציה בינארית של iPhone

  2. 00:57

    סריאליזציה ל-XML עם SoapFormatter

  3. 01:35

    מימוש ISerializable עם הצפנה

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

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

  1. 00:02

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

  2. 00:22

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

  3. 00:36

    הציגו את שני הערכים משני האובייקטים, הראשון וזה שנטען, ובצעו ביניהם השוואה על ידי I-Equitable, האם שניהם שווים. השתמשו במחלקת האייפון שיצרתם בתרגיל הקודם, ויצרו מערך חד-ממדי של אייפון, מכיל אלף אייפונים רנדומליים לחלוטין, בעלי ערכים רנדומליים Version ו-Price רנדומליים, זה שבא לכם שימרו את כל הקולקשן הזה לקובץ

  4. 01:04

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

  5. 01:30

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

  6. 01:55

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

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

ההרצאה הקודמת: Serialization - חלק 4

ההרצאה הבאה: יצירת DLL - חלק 1

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

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

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

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