שאלת design...

ebizza

New member
שאלת design...

בוקר טוב, התוכנית שלי בנויה בצורה הבאה: מחלקת דיאגרמה מכילה מחלקה אלמנט, ומחלקת אלמנט מכילה מחלקת מודול (יש דיאגרמה אחת ולה הרבה אלמנטים, ולכל אלמנט הרבה מודולים). יש לי צורך לפנות ממודול לדיאגרמה, איך עושים זאת? האם להשתמש ב- Singleton Design Pattern? בתודה, ebizza.
 

ebizza

New member
כוונתי היא...

שמחלקת דיאגרמה מכילה מערך מסוג אלמנט, ומחלקת אלמנט מכילה מערך מסוג מודול.
 

סומבודי

New member
אז מה הקשר ל-Singleton?

בכל מקרה, עצתי לך היא לרשת מ-ArrayList (או List<T> ב-2.0), ולהוסיף שדה שמייצג את ה-Parent. (במאמר מוסגר: השפרצת מושגים לא מלמדת על תבונה רבה, ומוציאה חאנשים את החשק לעזור.)
 

adam222

New member
יש כאלה ש"חולים" על השפרצות

זה גורם להם ל"חוש" שברצונם ממש "לעזור" שלא לומר "להושיט יד..."
 

ebizza

New member
לא הבנת...

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

סומבודי

New member
עוזר ועוד איך

אם יש לך מחלקת מערך עם שדה Parent, אתה יכול באתחול המערך, או לאחר מכן, להציב ערך ב-parent. בכל מקרה, זה לא מוכרח להתבצע בירושה, אפשר גם כדלהלן:
class Diagram; Class Element; class Module { Element Parent; ... } class Element { Diagram Parent; Module[] modules; // ... } class Diagram { Element[] elements; //... } Diagram d = someModule.Parent.Parent;​
ניתן לממש גם ממשקים, שיהפכו את הקוד לאלגנטי יותר.
 

ebizza

New member
ירוה ממערך???

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

ebizza

New member
וכל מערך כזה משמש כשדה...

כלומר, אחד השדות של דיאגרמה הוא מערך מסוג אלמנט. האם לזה התכונת?
 
למעלה