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.
Spojrzmy prawdzie w oczy. Wzór Singleton jest bardzo kontrowersyjnym tematem z hordami programistów po obu stronach ogrodzenia. Są tacy, którzy czują, że Singleton jest niczym innym jak gloryfikowaną zmienną globalną, i inni, którzy przysięgają na wzór i używają go nieustannie. Nie chcę jednak, aby Kontrowersje Singletona leżały u podstaw mojego …
AngularJS jasno stwierdza w swojej dokumentacji, że usługi są singletonami: AngularJS services are singletons Wbrew intuicji module.factoryzwraca również instancję Singleton. Biorąc pod uwagę, że istnieje wiele przypadków użycia usług innych niż pojedyncze, jaki jest najlepszy sposób na zaimplementowanie metody fabrycznej w celu zwrócenia wystąpień usługi, tak aby za każdym razem, …
Jak wszyscy wiemy, w kontenerze Spring domyślnie mamy ziarna jako singleton i jeśli mamy aplikację internetową opartą na frameworku Spring, to w takim przypadku naprawdę musimy zaimplementować wzorzec projektowy Singleton do przechowywania danych globalnych, a nie tylko do tworzenia fasoli do wiosny . Proszę o wyrozumiałość, jeśli nie jestem w …
W dokumencie Apple Using Swift with Cocoa and Objective-C (zaktualizowanym dla Swift 3) podają następujący przykład wzorca Singleton: class Singleton { static let sharedInstance: Singleton = { let instance = Singleton() // setup code return instance }() } Wyobraźmy sobie, że ten singleton musi zarządzać zmienną tablicą ciągów. Jak / …
Opierając się na tym, co napisano w pytaniu SO Najlepsza implementacja singletona w Javie - a mianowicie o używaniu wyliczenia do tworzenia singletona - jakie są różnice / zalety / wady między (pominięto konstruktor) public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } } …
Czy klasa singleton w Rubim jest klasą samą w sobie? Czy to jest powód, dla którego wszystkie przedmioty należą do „klasy”? Pojęcie jest niejasne , ale wydaje mi się, że ma coś wspólnego z tym, dlaczego w ogóle mogę zdefiniować metodę klasy ( class foo; def foo.bar ...). Jaka jest …
Wiele tekstów mówi, że przy implementacji podwójnie zaznaczonego blokowania w .NET pole, na którym blokujesz, powinno mieć zastosowany modyfikator volatile. Ale dlaczego dokładnie? Biorąc pod uwagę następujący przykład: public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() {} public static …
Dlaczego wzór Borga jest lepszy niż wzór Singletona ? Pytam, ponieważ nie widzę, aby skutkowały czymś innym. Borg: class Borg: __shared_state = {} # init internal state variables here __register = {} def __init__(self): self.__dict__ = self.__shared_state if not self.__register: self._init_default_register() Singel: class Singleton: def __init__(self): # init internal state …
Jaka jest korzyść z używania singletona zamiast globalnego do połączeń z bazą danych w PHP? Czuję, że używanie singletona zamiast globalnego sprawia, że kod jest niepotrzebnie skomplikowany. Kod z Global $conn = new PDO(...); function getSomething() { global $conn; . . . } Kodowanie za pomocą Singletona class DB_Instance { …
Miałem zwyczaj przekazywania loggera do konstruktora, na przykład: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } Ale to dość denerwujące, więc od jakiegoś czasu używam tej właściwości: private ILogger logger = NullLogger.Instance; public ILogger Logger { get { return logger; } set { logger = value; …
Chcę przechowywać pojedynczy wiersz w tabeli konfiguracji dla mojej aplikacji. Chciałbym wymusić, aby ta tabela zawierała tylko jeden wiersz. Jaki jest najprostszy sposób na wymuszenie ograniczenia jednego wiersza?
W C # dobrze używam LINQ i IEnumerable. I wszystko jest w porządku (a przynajmniej w większości). Jednak w wielu przypadkach okazuje się, że IEnumerable<X>domyślnie potrzebuję pustego . To znaczy chciałbym for (var x in xs) { ... } do pracy bez konieczności sprawdzania zerowej wartości. Teraz robię to, w …
Mam kilka pytań dotyczących wzorca singleton udokumentowanego tutaj: http://msdn.microsoft.com/en-us/library/ff650316.aspx Poniższy kod jest wyciągiem z artykułu: using System; public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new object(); private Singleton() {} public static Singleton Instance { get { if (instance == null) { lock …
Jak wiemy, Spring używa serwerów proxy w celu dodania funkcjonalności ( @Transactionali @Scheduledna przykład). Istnieją dwie opcje - użycie dynamicznego proxy JDK (klasa musi implementować niepuste interfejsy) lub wygenerowanie klasy potomnej za pomocą generatora kodu CGLIB. Zawsze myślałem, że proxyMode pozwala mi wybierać między dynamicznym proxy JDK a CGLIB. 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.