אובייקט שימושי לשמור מידע של מפתח – ערך (Key-Value). כדי לדעת האם הוא מתאים לשימוש מסויים אתה צריך לשאול את עצמך האם בסוג המידע שלך יש יחס כזה. דוגמה לשימוש שלא מתאים: שמירה של מחירים + מטבעות (3 דולר, 20 שקל וכו'). במקרה הזה המספר (מחיר) הוא לא מפתח לסוג המטבע (יכול להיות מחיר של 3 שקלים, וזה לא סותם את האפשרות שיהיה גם מחיר של 3 דולרים) וגם להיפך – המטבע הוא לא מפתח למחיר.
אני ונתן את הדוגמה הזאת כי נתקלתי בשימוש כזה בדיוק, והוא פשוט לא הגיוני. בנוסף, אם אתה רוצה לשנות את המטבע, והוא המפתח, כמובן שלא ניתן.
חוץ מזה, אם תוכל לפרט קצת יותר לאיזה סוג של יתרונות/ חסרונות התכוונת?
תחשוב תמיד על האפשרות של בניית מחלקה עבור סוג הנתונים, ושימוש ברשימה של אותה המחלקה:
לדוגמה: List<Person>
או שימוש באובייק מסוג Pair לתיאור של שני ערכים קשורים (מסוג object), או Tuple, שזה אותו דבר רק לחיבור של 3 אובייקטים (סוג object).
2 תשובות
אובייקט שימושי לשמור מידע של מפתח – ערך (Key-Value). כדי לדעת האם הוא מתאים לשימוש מסויים אתה צריך לשאול את עצמך האם בסוג המידע שלך יש יחס כזה. דוגמה לשימוש שלא מתאים: שמירה של מחירים + מטבעות (3 דולר, 20 שקל וכו'). במקרה הזה המספר (מחיר) הוא לא מפתח לסוג המטבע (יכול להיות מחיר של 3 שקלים, וזה לא סותם את האפשרות שיהיה גם מחיר של 3 דולרים) וגם להיפך – המטבע הוא לא מפתח למחיר.
אני ונתן את הדוגמה הזאת כי נתקלתי בשימוש כזה בדיוק, והוא פשוט לא הגיוני. בנוסף, אם אתה רוצה לשנות את המטבע, והוא המפתח, כמובן שלא ניתן.
חוץ מזה, אם תוכל לפרט קצת יותר לאיזה סוג של יתרונות/ חסרונות התכוונת?
תחשוב תמיד על האפשרות של בניית מחלקה עבור סוג הנתונים, ושימוש ברשימה של אותה המחלקה:
לדוגמה:
List<Person>
או שימוש באובייק מסוג Pair לתיאור של שני ערכים קשורים (מסוג object), או Tuple, שזה אותו דבר רק לחיבור של 3 אובייקטים (סוג object).
*סותר את האפשרות *נותן את הדוגמה (למה אי אפשר לערוך תגובות…)