Wzorzec projektowy, który zapewnia, że istnieje dokładnie jedno wystąpienie określonej klasy dla całej aplikacji. Jeden z kreacyjnych wzorców projektowych Gang of Four.
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Wzorzec Singleton jest w pełni opłacone członek z GOF „s desenie książki , …
Jaka jest prawdziwa (tj. Praktyczna) różnica między klasą statyczną a wzorem singletonu? Oba mogą być wywoływane bez tworzenia instancji, oba zapewniają tylko jedno „wystąpienie” i żadne z nich nie jest bezpieczne dla wątków. Czy jest jakaś inna różnica?
To pytanie nie dotyczy dyskusji, czy pożądany jest wzór singletonu , jest anty-wzorem, czy jakiejkolwiek wojny religijnej, ale do omówienia, w jaki sposób ten wzór najlepiej wdrożyć w Pythonie w najbardziej pythonowy sposób. W tym przypadku definiuję słowo „najbardziej python”, co oznacza, że jest ono zgodne z „zasadą najmniejszego zdziwienia” …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 2 lata temu . Jaki jest skuteczny sposób na implementację wzorca singleton w Javie?
Ostatnio natknąłem się na realizację / implementację wzorca projektowego Singleton dla C ++. Wyglądało to tak (przyjąłem z prawdziwego przykładu): // a lot of methods are omitted here class Singleton { public: static Singleton* getInstance( ); ~Singleton( ); private: Singleton( ); static Singleton* instance; }; Z tej deklaracji mogę wywnioskować, …
Tworzę aplikację, która wymaga logowania. Utworzyłem główną aktywność i logowanie. W onCreatemetodzie głównej aktywności dodałem następujący warunek: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ... loadSettings(); if(strSessionString == null) { login(); } ... } onActivityResultMetoda, która jest wykonywana, gdy formularz logowania kończy wygląda następująco: @Override public void onActivityResult(int requestCode, int …
Próbuję wypracować odpowiedni model singletonu do użytku w Swift. Do tej pory udało mi się uzyskać bezpieczny dla wątków model działający jako: class var sharedInstance: TPScopeManager { get { struct Static { static var instance: TPScopeManager? = nil } if !Static.instance { Static.instance = TPScopeManager() } return Static.instance! } } …
Gloryfikowana zmienna globalna - staje się chwalebną klasą globalną. Niektórzy twierdzą, że łamanie zorientowanego obiektowo projektu. Podaj mi scenariusze inne niż stary dobry rejestrator, w którym sensowne jest użycie singletonu.
Przywołując ten post, w którym wymieniono kilka problemów związanych z używaniem singletonów i widziałem kilka przykładów aplikacji na Androida wykorzystujących wzorzec singletonu, zastanawiam się, czy dobrym pomysłem jest używanie singletonów zamiast pojedynczych instancji współdzielonych przez globalny stan aplikacji (podklasowanie android.os. Aplikacja i uzyskiwanie jej poprzez context.getApplication ()). Jakie zalety / …
Jeśli możesz kierować system iOS 4.0 lub nowszy Czy używając GCD to najlepszy sposób na utworzenie singletonu w Objective-C (wątek bezpieczny)? + (instancetype)sharedInstance { static dispatch_once_t once; static id sharedInstance; dispatch_once(&once, ^{ sharedInstance = [[self alloc] init]; }); return sharedInstance; }
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Jaki jest dokładny powód użycia dispatch_once we współużytkowanym instancie dla singletona pod ARC? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 static MyClass *sharedInstance = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation stuff here …
Edycja: Z innego pytania podałem odpowiedź, która zawiera linki do wielu pytań / odpowiedzi na temat singletonów: Więcej informacji na temat singletonów tutaj: Przeczytałem więc temat Singletons: dobry projekt czy kula? A kłótnia wciąż trwa. Widzę Singletony jako wzorzec projektowy (dobry i zły). Problemem w Singleton nie jest wzorzec, ale …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.