09-09-2010, 21:31
|
|
|
|
חבר מתאריך: 07.12.09
הודעות: 7,072
|
|
כן קשה לי, כי אתה משחרר פה דעות לא מבוססות כאילו הן עובדות היקום, ועוד מטעה אחרים.
אני מכיר את זה כCBD, ורב מערכות ה OOD הגדולות מגיעות לזה בעצמן, חוץ מזה שזה קונספט שבכלל הולך יד ביד עם OOD, אבל לא רק...
נכנסתי לקטנות עם המימוש שלך, רק כי הבאת "חסרון" בSingletone שנבע רק מזה שהמימוש לך לא נכון, כנראה שגם אני הייתי כותב אותו מימוש בפעם הראשונה, כי אני רגיל לC#, ושם הסמנטיקה של = למחלקות שונה(מעתיק את הרפרנס, ולא את האובייקט).
לשכפל את הHEADER לא ממש יעזור לך... וגם אם מישהו ממש משתדל לדפוק את עצמו אז זה מגיע לו.
זה לא קשור ללעבוד עם חיות, או לא, לפעמים אני לא מכיר את המשתמשים שלי, לפעמים ספריות שכתבתי הגיע לאנשים שבחיים לא ראו אותי. ואם אני כותב ספריה או מערכת ולחלק מהמחלקות יש דרישות מסוימות, אז אני מעדיף שהן יבוא מתוך הטבע של המחלקה - כי ככה היא כתובה, ולא מתוך התיעוד, או כי ככה אמרתי. חוץ מזה זאת דרך יותר טובה להגן על אנשים מפני עצמם...
מה הבעיה לכתוב Abstract Factory לחיבורי DB, ולעשות אותו Internal בC# או Private בתוך המחלקה הגדולה, או בתור FIREND , ושמחלקה שהיא סינגלטון תפנה עליו בקונסטרקטור שלה?
רק שיהיה ברור שבSingletone לדעתי צריך להיות משהו דיי נדיר, רק כשאתה חייב מופע יחיד בישביל התקינות של המחלקה. לא לכל Manager שני. האחרון שאני כתבתי, היה לפני איזה שנה, וזה היה בישביל חיבור רשת, ולהעביר כל מיני בקשות בצורה סינכרונית לצד השני, וזה גם היה משהו שנעלם בגרסה מאוחרת...
|