אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

שאלות בנושאים כלליים ב Flash וב ActionScript לכל גרסאותיה (ActionScript 1, ActionScript 2, ActionScript 3). בשאלות ActionScript אנא ציינו את הגרסה בקצרה (AS1 / AS2 / AS3). בפורום זה תמצאו תשובות לשאלות בסיסיות עד מתקדמות הקשורות לשימוש בתוכנת הפלאש או בשפת ActionScript.

אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי nimrodon ב 01 ספטמבר 2010, 11:00

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

תודה,

נמרוד 
nimrodon
 
הודעות: 28
הצטרף: 13 מרץ 2010, 17:48

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי רונן צמיר ב 02 ספטמבר 2010, 10:22

כן אתה צריך.
אין ארוחות חינם :)
רונן צמיר
 
הודעות: 382
הצטרף: 13 מרץ 2010, 21:57
מיקום: חולון -> הרצליה פיתוח

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי bgs ב 02 ספטמבר 2010, 12:13

איך זה מתבצע באופן כללי?
יש פונקציות שעושות את זה? או שאנחנו המתכנתים צריכים למצוא פיתרון יצירתי לעשות את זה בעצמנו?
bgs
 
הודעות: 46
הצטרף: 18 מרץ 2010, 18:18

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי רונן צמיר ב 02 ספטמבר 2010, 21:39

מבחינת עיצוב תוכנה הדרך הנכונה לעשות את זה היא:
בכל CLASS שצריך לרשום את עצמו ל SHAREDOBJECT אתה יוצר מטודה שניקראת Serialize שמחזירה OBJECT המתאר את המופע של ה CLASS. ( בחלק גדול מהמקרים זו תהיה עבודה קלה מכיוון שהמשתנים הבסיסים של פלאש ב toString שלהם מחזירים את התוכן)
וכן פונקציה שנקראת Deserialize היודעת לקבל OBJECT ולבנות לפיו מופע מסוג ה CLASS המבוקש. זה קצת יותר מורכב כי צריך לדעת לעשות PARSING מתאים ל STRING

ה CLASS המוכבים יותר משתמשים במטודות Serialize ו Deserialize של ה CLASS שהם מכילים.

לדוגמא מערך B של CLASS מסוג A. יבנה את אובייקט Serialize שלו על ידי מעבר על כל האובייקטים שבו
Syntax: [ Download ] [ Hide ]
Using actionscript3 Syntax Highlighting
for(var i:uint = 0; i < B.length; i++)
        data["A_"+i] = B[i].Serialize();
Parsed in 0.029 seconds, using GeSHi 1.0.8.4

כאשר מחלקים כך את המשימה ויש הפרדה בין CLASS של DATA לבין CLASS של LOGIC ו VIEW. אז רואים שהשד ממש לא נורא

(אגב גם קריאה וכתיבה מול XML כדאי לעשות בצורה כזות)
רונן צמיר
 
הודעות: 382
הצטרף: 13 מרץ 2010, 21:57
מיקום: חולון -> הרצליה פיתוח

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי GilS ב 05 ספטמבר 2010, 09:46

במובן הזה נדמה לי ש-JSON זאת הדרך הפשוטה ביותר לממש את זה. אבל בשביל זה צריך מלכתחילה לתכנן את הנתונים שייכנסו לתוך אובייקט.
GilS
 
הודעות: 203
הצטרף: 19 מרץ 2010, 10:34

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי רונן צמיר ב 05 ספטמבר 2010, 13:40

JSON, XML או ישירות כ SharedObject הכל תלוי בנסיבות ובהעדפה אישית. והתיכנון מלכתחילה כדאי שיעשה בכל מקרה.

אני אישית מעדיך XML זה יותר קריא ונוח לדיבוג, בעיקר כשמדובר במבנים מורכבים. אבל מצד שני קצת מנפח את הקובץ, ולכן כפי שציינתי תלוי בנסיבות.
רונן צמיר
 
הודעות: 382
הצטרף: 13 מרץ 2010, 21:57
מיקום: חולון -> הרצליה פיתוח

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי Yohai Rosen ב 05 ספטמבר 2010, 14:07

ב AS3 יש לך את הפונקציה describeType, שמחזירה תאור אקסמלי של האובייקט אותה אתה מעביר לה, מאוד שימושי לreflection.
Syntax: [ Download ] [ Hide ]
Using actionscript3 Syntax Highlighting
import flash.utils.describeType;
       
var description:XML = describeType(obj);
 
Parsed in 0.027 seconds, using GeSHi 1.0.8.4
foxybrain לשעבר
סמל אישי של המשתמש
Yohai Rosen
 
הודעות: 53
הצטרף: 18 מרץ 2010, 17:17
מיקום: שמיקום

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי רונן צמיר ב 07 ספטמבר 2010, 15:50

לא מדוייק.

ה describeType מתאר את מבנה ה CLASS שממנו נוצר המופע של האובייקט, לא את האובייקט עצמו.
רונן צמיר
 
הודעות: 382
הצטרף: 13 מרץ 2010, 21:57
מיקום: חולון -> הרצליה פיתוח

Re: אחסון ואחזור מבני נתונים מורכבים בתוך sharedObject | אס3

הודעהעל ידי Yohai Rosen ב 08 ספטמבר 2010, 08:55

נכון... מה שעושה את הפונקצייה מאוד מועילה בפעעולות של שמירה ואחזור אובייקטים.
foxybrain לשעבר
סמל אישי של המשתמש
Yohai Rosen
 
הודעות: 53
הצטרף: 18 מרץ 2010, 17:17
מיקום: שמיקום


חזור אל שאלות כלליות

 


  • שרשורים בנושאים דומים
    תגובות
    צפיות
    הודעה אחרונה

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד