שאלת Design

vinney

Well-known member
למה לך לעשות את זה?

חוצמזה שירושה כפולה זה גורם לבעיות, זה גם די מיותר. אתה מיישם את הפתרון שלי (#2), אבל בצורה עקיפה. זה נכון לעשות אם ורק אם לIDA יש חיים משלו שלא קשורים לIA, אבל לפי ההסבר שלך הבנתי שיש בינהם יחס הורשה, לכן זה לא במקום.
 

gmorphus

New member
ירושה כפולה זה לא כזה גרוע

אם אתה מקפיד לעשות את זה מממשקים בלבד (מה גם שC# מאפשרת ירושה מרובה אך ורק מממשקים עד כמה שאני יודע). לא אמרתי שIDA חייב לרשת מIA - רק ציינתי שהוא מרחיב את היכולות של המחלקה. למרות שעלול להיות מצב בעתיד שנרצה ליצור מחלקה שכן צריכה את היכולות של IA. שורה תחתונה, אתה די צודק... לא הבנתי איך זה דומה לפתרון שלך? (זה עם הממשק שיורש מA נכון?)
 

vinney

Well-known member
כן

אני לא יודע לגבי #C, אם הם מאפשרים לך לרשת ממשק ממחלקה ממומשת, אבל עקרונית אתה יכול לעשות את זה גם מIA, פשוט ירושה מA חוסכת לך מימושים.
 

gmorphus

New member
אני לא יכול סתם לרשת מIA

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

vinney

Well-known member
הא, זה פשוט

בסופו של דבר אתה יוצר מחלקה שיורשת מהרכבה של שני ממשקים (IA וIDA). אני הצעתי לעשות את זה בתור, אתה מציע לעשות את זה במקביל, התוצאה היא אותה תוצאה.
 
למעלה