נשלח בתאריך: 24 October 2005 בשעה 12:48 | | IP רשוּם
|
|
|
|
היי
תודה על התשובה!!
מצאתי קוד באינטרנט של מחלקה מסוג singletone משהו לא ברור לי ...
// Singleton pattern -- Structural example |
using System namespace DoFactory.GangOfFour.Singleton.Structural } // MainApp test application class MainApp } () static void Main } // Constructor is protected -- cannot use new () Singleton s1 = Singleton.Instance
()&nbs p; Singleton s2 = Singleton.Instance
( if (s1 == s2 { Console.Writ eLine("Objects are the same instance"); }
// Wait for user ;() Console.Read { {
// "Singleton"
class Singleton } private static Singleton instance // Note: Constructor is 'protected' () protected Singleton } {
() public static Singleton Instance } // Use 'Lazy initialization' if (instance == null) } ;() instance = new Singleton {
return instance; {
{ { |
אני מקווה שהקוד ברור...
מה שאני לא מבין זה למה ה constructor במחלקה Singleton הוא protected
זה אסור ב singletone לא?! אני הייתי בטוח שה constructor במחלקה Singleton
חייב להיות private על מנת להבטיח רק מופע אחד ויחיד של המחלקה..
מה קורה במקרה ו 2 תהליכים ניגשים באותו זמן לפונקציה?? נוצרים 2 מופעים לא?!
תודה
|