שאלה ב DESIGN
יש לי DB פשוט כמו בתמונה המצורפת. טבלת PERSON עם הפרטים שלו ועוד שני טבלאות אינדוקס. אחד של שמות ערים והשני של סוגי דת. אני רוצה למשוך או לכתוב מידע ל DB. אני רוצה ליצור אובייקטים מתאימים. מה האפשרויות ? לדעתי אפשרות אחת גרועה היא ליצור קלאס אחד שנקרא PERSON ויש בו את כל פרטי ה PERSON כולל CITYNAME ו CITYID וכן RELIGIONNAME ו RELIGIONID. או אפשרות אחרת היא ליצור שלושה קלאסים : אחד הוא PERSON לפרטי ה PERSON , השני זה קלאס CITY שיכיל CITYNAME ו CITYID , והשלישי זה RELIGION שיכיל RELIGIONNAME ו RELIGIONID. במצב הזה יהיו לי קלאס אחד ראשי ושני קלאסים מאוד דומים עם הרבה מתודות פנימיות מאוד דומות. הבעיה היא שיהיו לי הרבה כפילויות קוד כי בקלאס CITY תהיה מתודה כמעט זהה לאותה מתודה בקלאס RELIGION. הכיוון שלי היה להוסיף איזה קלאס אבסטרקטי לשני הקלאסים האחרונים שיכיל מתודות זהות, הבעיה היא שאין מתודות זהות. הן מאוד דומות אבל לא זהות. איך צריך לממש דבר כזה ?
יש לי DB פשוט כמו בתמונה המצורפת. טבלת PERSON עם הפרטים שלו ועוד שני טבלאות אינדוקס. אחד של שמות ערים והשני של סוגי דת. אני רוצה למשוך או לכתוב מידע ל DB. אני רוצה ליצור אובייקטים מתאימים. מה האפשרויות ? לדעתי אפשרות אחת גרועה היא ליצור קלאס אחד שנקרא PERSON ויש בו את כל פרטי ה PERSON כולל CITYNAME ו CITYID וכן RELIGIONNAME ו RELIGIONID. או אפשרות אחרת היא ליצור שלושה קלאסים : אחד הוא PERSON לפרטי ה PERSON , השני זה קלאס CITY שיכיל CITYNAME ו CITYID , והשלישי זה RELIGION שיכיל RELIGIONNAME ו RELIGIONID. במצב הזה יהיו לי קלאס אחד ראשי ושני קלאסים מאוד דומים עם הרבה מתודות פנימיות מאוד דומות. הבעיה היא שיהיו לי הרבה כפילויות קוד כי בקלאס CITY תהיה מתודה כמעט זהה לאותה מתודה בקלאס RELIGION. הכיוון שלי היה להוסיף איזה קלאס אבסטרקטי לשני הקלאסים האחרונים שיכיל מתודות זהות, הבעיה היא שאין מתודות זהות. הן מאוד דומות אבל לא זהות. איך צריך לממש דבר כזה ?