标签: singleton

什么是C#中的单身人士?

非常直截了当的问题.

什么是单身人士,何时应该使用它?

.net c# singleton

170
推荐指数
7
解决办法
16万
查看次数

如何实现与ARC兼容的Objective-C单例?

在Xcode 4.2中使用自动引用计数(ARC)时,如何转换(或创建)编译和行为正确的单例类?

singleton objective-c ios automatic-ref-counting

168
推荐指数
3
解决办法
9万
查看次数

用Enum实现Singleton(用Java)

我已经读过可以Singleton使用以下方法在Java中实现Enum:

public enum MySingleton {
     INSTANCE;   
}
Run Code Online (Sandbox Code Playgroud)

但是,上面的工作如何?具体而言,Object必须实例化.在这里,如何MySingleton被实例化?谁在做什么new MySingleton()

java singleton enums design-patterns

165
推荐指数
6
解决办法
11万
查看次数

你如何在Dart中建立一个单身人士?

单例模式确保只创建一个类的一个实例.我如何在Dart中构建它?

singleton dart

140
推荐指数
18
解决办法
5万
查看次数

在PHP中是否有用于数据库访问的单例的用例?

我通过PDO访问我的MySQL数据库.我正在设置对数据库的访问权限,我的第一次尝试是使用以下内容:

我想到的第一件事是global:

$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd');

function some_function() {
    global $db;
    $db->query('...');
}
Run Code Online (Sandbox Code Playgroud)

这被认为是一种不好的做法.一点点搜索后,我结束了与Singleton模式,其

"适用于需要单个类实例的情况."

根据手册中的示例,我们应该这样做:

class Database {
    private static $instance, $db;

    private function __construct(){}

    static function singleton() {
        if(!isset(self::$instance))
            self::$instance = new __CLASS__;

        return self:$instance;
    }

    function get() {
        if(!isset(self::$db))
            self::$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'user', 'pwd')

        return self::$db;
    }
}

function some_function() {
    $db = Database::singleton();
    $db->get()->query('...');
}

some_function();
Run Code Online (Sandbox Code Playgroud)

当我能做到这一点时,为什么我需要相对较大的课程呢?

class Database {
    private static $db;

    private function __construct(){}

    static function get() …
Run Code Online (Sandbox Code Playgroud)

php oop singleton design-patterns

136
推荐指数
7
解决办法
4万
查看次数

在Java中使用带参数的单例

我正在阅读维基百科上的Singleton文章,我遇到了这个例子:

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 { 
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return SingletonHolder.INSTANCE;
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我非常喜欢这个Singleton的行为方式,但我看不出如何调整它以将参数合并到构造函数中.在Java中执行此操作的首选方法是什么?我必须这样做吗?

public class Singleton
{
    private static Singleton singleton = null;  
    private final int x;

    private Singleton(int x) {
        this.x …
Run Code Online (Sandbox Code Playgroud)

java oop singleton anti-patterns

130
推荐指数
8
解决办法
11万
查看次数

Java序列化:readObject()与readResolve()

有效Java和其他资源一书提供了一个很好的解释,说明在使用可序列化的Java类时如何以及何时使用readObject()方法.另一方面,readResolve()方法仍然有点神秘.基本上我发现的所有文件要么只提到两个中的一个,要么仅单独提及.

仍未得到答复的问题是:

  • 这两种方法有什么区别?
  • 何时应该实施哪种方法?
  • 应该如何使用readResolve(),特别是在返回什么方面?

我希望你能对这件事有所了解.

java singleton serialization

125
推荐指数
6
解决办法
8万
查看次数

如何在TypeScript中定义Singleton

在TypeScript中为类实现Singleton模式的最佳和最方便的方法是什么?(有和没有延迟初始化).

singleton typescript

119
推荐指数
9
解决办法
8万
查看次数

什么是单身人士的替代品

我们有一个类,用于保存应用程序的配置信息.它曾经是一个单身人士.经过一些建筑评论后,我们被告知要删除单身人士.我们确实看到了在单元测试中不使用单例的一些好处,因为我们可以同时测试不同的配置.

如果没有单例,我们必须在代码中的任何地方传递实例.它变得如此混乱,所以我们编写了一个单独的包装器.现在我们将相同的代码移植到PHP和.NET,我想知道是否有更好的模式我们可以用于配置对象.

java singleton design-patterns

112
推荐指数
3
解决办法
4万
查看次数

Java单例和同步

请澄清我对Singleton和Multithreading的疑问:

  • 在多线程环境中,在Java中实现Singleton的最佳方法是什么?
  • 当多个线程同时尝试访问getInstance() 方法时会发生什么?
  • 我们可以制作单身人士getInstance() synchronized吗?
  • 使用Singleton类时是否真的需要同步?

java singleton multithreading synchronization

109
推荐指数
5
解决办法
10万
查看次数