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.
Innymi słowy, czy ten wątek implementacyjny Singleton jest bezpieczny: public class Singleton { private static Singleton instance; private Singleton() { } static Singleton() { instance = new Singleton(); } public static Singleton Instance { get { return instance; } } }
public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static Nested() {} internal static readonly Singleton instance = new Singleton(); } } Chciałbym …
Wyczytałem, że jest możliwe zaimplementowanie Singletonw Javie przy użyciu Enumnp .: public enum MySingleton { INSTANCE; } Ale jak to działa? W szczególności Objectnależy utworzyć instancję. Tutaj, jak jest MySingletontworzony? Kto to robi new MySingleton()?
Jak przekonwertować (lub utworzyć) klasę pojedynczą, która kompiluje się i zachowuje poprawnie podczas korzystania z automatycznego liczenia odwołań (ARC) w Xcode 4.2?
Czytałem artykuł Singletona na Wikipedii i trafiłem na taki przykład: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static class SingletonHolder …
Uzyskuję dostęp do mojej bazy danych MySQL przez PDO. Konfiguruję dostęp do bazy danych i moja pierwsza próba polegała na użyciu: Pierwsza rzecz, o której pomyślałem, to global: $db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd'); function some_function() { global $db; $db->query('...'); } Jest to uważane za złą praktykę. Po krótkich poszukiwaniach …
Książka Efektywna Java i inne źródła dostarczają całkiem dobrego wyjaśnienia, jak i kiedy używać metody readObject () podczas pracy z serializowalnymi klasami Java. Z drugiej strony metoda readResolve () pozostaje nieco tajemnicą. Zasadniczo wszystkie dokumenty, które znalazłem, albo wspominają tylko o jednym z nich, albo wspominają o obu tylko indywidualnie. …
Jaki jest najlepszy i najwygodniejszy sposób implementacji wzorca Singleton dla klasy w języku TypeScript? (Zarówno z leniwą inicjalizacją, jak i bez niej).
Proszę o wyjaśnienie moich pytań dotyczących singletona i wielowątkowości: Jaki jest najlepszy sposób implementacji Singletona w Javie w środowisku wielowątkowym? Co się dzieje, gdy wiele wątków próbuje uzyskać dostęp do getInstance() metody w tym samym czasie? Czy możemy zrobić singletony getInstance() synchronized? Czy synchronizacja jest naprawdę potrzebna podczas korzystania z …
Mamy klasę, która zawiera informacje o konfiguracji aplikacji. Kiedyś to był singleton. Po pewnym przeglądzie architektonicznym kazano nam usunąć singleton. Zauważyliśmy pewne korzyści wynikające z niestosowania singletona w testach jednostkowych, ponieważ możemy testować różne konfiguracje jednocześnie. Bez singletona musimy przekazać instancję wszędzie w naszym kodzie. Robi się taki bałagan, więc …
Niedawno natknąłem się na ten artykuł o tym, jak napisać singleton w Node.js. Znam dokumentację require stanów, które: Moduły są buforowane po pierwszym załadowaniu. Wielokrotne wywołania require('foo')mogą nie powodować wielokrotnego wykonywania kodu modułu. Wygląda więc na to, że każdy wymagany moduł może być łatwo użyty jako singleton bez pojedynczego kodu …
Nigdy nie znalazłem dobrych odpowiedzi na te proste pytania dotyczące klas pomocniczych / użytkowych: Dlaczego miałbym utworzyć singleton (bezstanowy) zamiast używać metod statycznych? Po co byłoby potrzebne wystąpienie obiektu, skoro obiekt nie ma stanu?
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.