Вопросы с тегом «singleton»

178
Реализация Singleton с помощью Enum (на Java)

Я прочитал, что это можно реализовать Singletonв Java, используя Enumтакие как: public enum MySingleton { INSTANCE; } Но как работает выше? В частности, Objectдолжен быть создан экземпляр. Здесь, как MySingletonсоздается экземпляр? Кто делает new...

146
Синглтон с аргументами на Java

Я читал статью о Синглтоне в Википедии и наткнулся на этот пример: 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...

139
Есть ли вариант использования синглтонов с доступом к базе данных в PHP?

Я получаю доступ к своей базе данных MySQL через PDO. Я настраиваю доступ к базе данных, и моей первой попыткой было использовать следующее: Первое, о чем я подумал global: $db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd'); function some_function() { global $db;...

127
Сериализация Java: readObject () против readResolve ()

Книга « Эффективная Java» и другие источники дают довольно хорошее объяснение того, как и когда использовать метод readObject () при работе с сериализуемыми классами Java. С другой стороны, метод readResolve () остается загадкой. Практически все документы, которые я нашел, либо упоминают только...

117
Синглтон Java и синхронизация

Уточните, пожалуйста, мои вопросы по поводу синглтона и многопоточности: Как лучше всего реализовать синглтон на Java в многопоточной среде? Что происходит, когда несколько потоков пытаются одновременно получить доступ к getInstance() методу? Можем ли мы сделать синглтоны getInstance()...

114
Какая альтернатива синглтону

У нас есть класс, который содержит информацию о конфигурации приложения. Раньше это был синглтон. После некоторого обзора архитектуры нам сказали удалить синглтон. Мы действительно увидели некоторые преимущества отказа от использования синглтона в модульном тестировании, потому что мы можем...

95
Шаблон Singleton в nodejs - нужен ли он?

Недавно я наткнулся на эту статью о том, как написать синглтон в Node.js. Я знаю , что в документации require государств , что: Модули кэшируются после первой загрузки. Многократные вызовы require('foo')не могут привести к многократному выполнению кода модуля. Таким образом, кажется, что каждый...

94
Зачем использовать синглтон вместо статических методов?

Я никогда не находил хороших ответов на эти простые вопросы о вспомогательных / служебных классах: Зачем мне создавать синглтон (без сохранения состояния) вместо использования статических методов? Зачем нужен экземпляр объекта, если у объекта нет состояния?...

91
Есть ли жизнеспособные альтернативы шаблону GOF Singleton?

Давайте посмотрим правде в глаза. Шаблон Singleton - очень противоречивая тема с ордами программистов по обе стороны забора. Есть те, кто считает, что синглтон - это не более чем прославленная глобальная переменная, а другие придерживаются шаблона и постоянно его используют. Однако я не хочу,...

90
Шаблон проектирования Singleton против бинов Singleton в контейнере Spring

Как мы все знаем, у нас есть beans как singleton по умолчанию в контейнере Spring, и если у нас есть веб-приложение на основе Spring framework, тогда в этом случае нам действительно нужно реализовать шаблон проектирования Singleton для хранения глобальных данных, а не просто создавать bean через...

90
Не-одиночные сервисы в AngularJS

AngularJS четко заявляет в своей документации, что службы являются одиночными: AngularJS services are singletons Как ни странно, module.factoryтакже возвращает экземпляр Singleton. Учитывая, что существует множество вариантов использования для не-одноэлементных служб, как лучше всего реализовать...

88
Синглтон со свойствами в Swift 3

В документе Apple « Использование Swift с Cocoa и Objective-C» (обновленном для Swift 3) они приводят следующий пример шаблона Singleton: class Singleton { static let sharedInstance: Singleton = { let instance = Singleton() // setup code return instance }() } Представим, что этот синглтон должен...

85
Необходимость в модификаторе volatile при блокировке с двойной проверкой в ​​.NET

В нескольких текстах говорится, что при реализации блокировки с двойной проверкой в ​​.NET к блокируемому полю должен применяться модификатор volatile. Но почему именно? Рассмотрим следующий пример: public sealed class Singleton { private static volatile Singleton instance; private static object...

85
Что такое одноэлементный класс в рубине?

Является ли одноэлементный класс в Ruby классом сам по себе? Это причина того, что все объекты принадлежат «классу»? Концепция нечеткая , но я считаю, что она как-то связана с тем, почему я вообще могу определить метод класса ( class foo; def foo.bar ...). Что такое одноэлементный класс в Ruby?...

85
Каков наилучший подход для использования Enum в качестве синглтона в Java?

Основываясь на том, что было написано в вопросе SO Лучшая реализация синглтона в Java, а именно об использовании перечисления для создания синглтона - каковы различия / плюсы / минусы между (конструктор опущен) public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } } а...

81
Это хорошая практика - иметь логгер как синглтон?

У меня была привычка передавать логгер конструктору, например: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } Но это довольно раздражает, поэтому я уже некоторое время использовал это свойство: private ILogger logger = NullLogger.Instance; public ILogger...

81
SQL Server: как ограничить таблицу, чтобы она содержала одну строку?

Я хочу сохранить одну строку в таблице конфигурации для своего приложения. Я хочу сделать так, чтобы эта таблица могла содержать только одну строку. Каков самый простой способ применить ограничение одной строки?...

80
Есть ли в C # синглтон «Пустой список»?

В C # я хорошо использую LINQ и IEnumerable. И все хорошо (по крайней мере, в большинстве случаев). Однако во многих случаях я считаю, что мне нужно пустое поле IEnumerable<X>по умолчанию. То есть я бы хотел for (var x in xs) { ... } чтобы работать без проверки нуля. Вот что я сейчас делаю,...