שלח תשובה

זירת השאלות

411
צפיות
3
תשובות

מחלקה מסוג singletone

,‏ 23 באוקטובר, 2005

שלום,

רציתי לדעת איך הופכים מחלקה ל – singletone (ב C#)

אני יודע שחייבים להגדיר את ה CONSTRACTOR כ PRIVATE על מנת שיווצר

רק מופע אחד מהמחלקה .

מה עוד צריך להגדיר על מנת שזאת תהיה מחלקה singletone?

תודה

תגיות:

3 תשובות

  1. זהר פלד הגיב:

    Singletone design pattern:
    אתה מגדיר Constructor כ private.
    אתה מגדיר משתנה מחלקה (static) בוליאני כ private, שנקרא לו לצורך העניין bObjectExist, ואתה מגדיר מתודה ברמת המחלקה כ public, שנקרא לה לצורך העניין getObject. המתודה הזו תעשה משהו די פשוט:
    תבדוק את הערך של bObjectExist. במידה ו true, תחזיר null ותסתיים. במידה ו false, תשנה אותו ל true, תקרא ל constructor ותחזיר רפרנס לאובייקט.

    זה בעצם כל מה שצריך בשביל ליצור מחלקה מטיפוס Singletone.
    (כמובן, אם אי פעם יתעורר הצורך ליצור מחלקה שניתן ליצור ממנה רק שלושה אובייקטים, כל מה שצריך זה לשנות את המשתנה bObjectExist למספרי, ולבדוק אם הוא קטן משלוש במתודה getObject.)

  2. ניר טייב הגיב:

    חולק עליך
    משתנה המחלקה הפרטי צריך להיות המופע היחידי של המחלקה. המתודה צריכה לבדוק אם הוא null, במידה וכן אז ליצור את האובייקט.
    ואח"כ להחזיר אותו.

    עוד על ה-DP הזה:
    http://www.dofactory.com/Patterns/PatternSingleton.aspx
    (ככלל, אם רוצים לדעת משהו לגבי DP מסויים – כנסו לאתר הזה, יש בו גם דוגמאות קוד ב-C#).

  3. זהר פלד הגיב:

    אתה יודע מה, מקובל עלי.
    האופציה שלך יותר טובה.
    את שלי כתבתי מהזכרון עוד מהקורס java, מאלוהים יודע מתי…  

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!