问题标签 [singleton]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
5144 浏览

java - 这个 Java 单例可以在 WebSphere 6 中重复重建吗?

我试图找出我们系统中的一个问题,下面的代码让我很担心。以下发生在我们的主 servlet 中的 doPost() 方法中(名称已更改以保护有罪者):

单例“Single”如下所示:

通过将其设置为使用静态初始化程序而不是在 getInstance() 方法中检查 null theInstance 的方式,这可以一遍又一遍地重建吗?

PS - 我们在 Java 1.4 上运行带有应用程序的 WebSphere 6

0 投票
22 回答
266060 浏览

design-patterns - 关于设计模式:什么时候应该使用单例?

荣耀的全局变量 - 成为荣耀的全局类。有人说打破了面向对象的设计。

给我一些场景,除了使用单例的好旧记录器之外。

0 投票
9 回答
7689 浏览

singleton - 有没有一个名字意味着“不是单身”?

有没有一个名字意味着“不是单身”?

0 投票
16 回答
22987 浏览

c# - 如何在 C# 中实现单例?

如何在 C# 中实现单例模式?我想将我的常量和一些基本函数放入其中,因为我在项目中到处使用它们。我想让它们“全局”,而不需要手动绑定我创建的每个对象。

0 投票
5 回答
7398 浏览

dependency-injection - 实用单例和依赖注入问题

假设我有一个名为 PermissionManager 的类,它在我的系统中应该只存在一次,并且基本上实现了为我的应用程序中的各种操作管理各种权限的功能。现在我的应用程序中有一些类需要能够在其方法之一中检查某个权限。此类的构造函数目前是公开的,即由 API 用户使用。

直到几周前,我才会让我的班级在某处调用以下伪代码:

但是由于我注意到这里的每个人都讨厌单例+这种耦合,所以我想知道更好的解决方案是什么,因为我读到的反对单例的论点似乎是有道理的(不可测试,高耦合等)。

那么我真的应该要求 API 用户在类的构造函数中传入一个 PermissionManager 实例吗?即使我只希望我的应用程序存在一个 PermissionManager 实例?

还是我要解决这一切都错了,应该有一个非公共构造函数和一个工厂在某个地方为我传递 PermissionManager 的实例?


附加信息请注意,当我说“依赖注入”时,我指的是 DI模式……我没有使用任何 DI 框架,例如 Guice 或 Spring。(...然而)

0 投票
4 回答
1528 浏览

design-patterns - 什么是单例?

我的一个朋友最近在一次工作面试中被问到标准单例和单例单例之间的区别。我以前从未听说过这个词,简单的谷歌搜索不会返回任何有意义的结果。

我的朋友建议它是一个构造函数是公共的但所有成员都是静态的对象。这对我来说似乎有点傻,因为它只是一个根本不需要构造函数的静态对象。

有没有人对单例有更好的定义?与标准单例相比,它有用吗?

0 投票
3 回答
3672 浏览

c# - 单例数据访问层

在我们工作的数据访问层中,我们有这个标准实现,其中类是通过一个看起来像这样的单例公共属性访问的:

现在,我知道代码在做什么,但我想知道为什么你会在每次使用它时只创建一个类的实例?

0 投票
1 回答
439 浏览

singleton - COM+ Singleton 大量参考

我有一个 COM+ 数据服务,它被配置为使用最小和最大池大小为 1 的对象池。所以我有一个单例。在某些情况下,我的对象计数(引用此实例的客户端数量)超过 1 并稳步增加。实例创建和对其方法的一次调用被包装在 using stmt 中,因此该实例应正确返回到池中。同时发生这种情况,我看到一些网络问题(SQLServer 的传输级错误异常)。我怀疑那里可能存在一些相关性。

对象计数如何超过 1?

0 投票
10 回答
101931 浏览

c++ - 任何人都可以为我提供 C++ 中的 Singleton 示例吗?

我按以下方式编写了一个单例 C++:

谢谢!Evan Teran 和 sep61.myopenid.com 的回答是正确的,而且非常好!我的方法是错误的,我希望任何编写此类代码的人都能避免我的愚蠢错误。

我的项目中的单例A有一个智能指针向量,另一个线程也可以编辑这个向量,所以当应用程序关闭时,即使我添加了大量的CMutex,它总是变得不稳定。多线程错误 + 单例错误浪费了我 1 天。

//------------------------------------------------ ------------ 一个新的单例,如果您认为以下示例有任何问题,欢迎您编辑:

0 投票
4 回答
1419 浏览

c# - 在 C# Windows 应用程序中存储静态用户数据

我有一个应用程序需要在启动应用程序时点击 ActiveDirectory 以获取用户权限/角色,并在整个过程中持续存在。

我不想在每个表单上都点击 AD 来重新检查用户的权限,所以我希望用户的角色以及登录用户的其他数据在应用程序中的任何表单上都可以全局使用,这样我就可以正确必要时隐藏功能、按钮等。

就像是:

在 Windows 应用程序中存储静态用户数据的最佳做法是什么?单例或全局变量等解决方案可能有效,但我试图避免这些。

传递给每个表单的构造函数的用户对象是否同样糟糕?