问题标签 [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 投票
9 回答
489 浏览

c++ - 注册每个 C/C++ 源文件以创建使用源的运行时列表

对于调试和日志库,我希望能够在运行时找到项目已编译和链接的所有源文件的列表。我假设我将在每个源文件中包含某种标题,并且预处理器 __FILE__ 宏可以为我提供该文件的字符常量,因此我只需要以某种方式“广播”来自每个文件的信息以由 a运行时函数。

问题是如何优雅地做到这一点,特别是如果它可以从 C 而不是 C++ 中完成。在 C++ 中,我可能会尝试使用静态存储创建一个类来保存文件名列表。每个头文件都将创建该类的文件本地静态实例,该实例在创建时会将 FILE 指针或其他任何内容附加到类的静态数据成员中,可能作为链表。

但我认为这在 C 中不起作用,即使在 C++ 中,我也不确定是否可以保证每个元素都会被创建。

0 投票
4 回答
507 浏览

actionscript-3 - 避免全局状态

目前我正在编写一个应用程序。如果我想避免单例,我是否必须简单地传递周围所有内容的引用?

例如,

我有一个“主要”课程。
类:主
+----屏幕
+----相机
+----地形
+----车辆
+----物理世界

它包含我的相机、地形和车辆等类。现在,我在创建 Terrain 对象时遇到了问题。Terrain 想要访问 Main 类 Screen 对象,以便将其 Terrain Graphics 添加到屏幕上。它还想知道 Camera 对象何时绘制,以便知道绘制它的比例。它还想了解我的 PhysicsWorld 对象,以便将自己添加到物理引擎中。

我是否必须总是在构造函数之间来回拉动这些对象?我的意思是,当我创建一个地形对象时,我是否只需要传递我的屏幕对象、我的物理世界、相机等?

我有另一个随机场景,现在.. 在我的 Vehicle 类中,我需要在 Main 类上调用 Restart() 方法。这是否意味着我必须将 main 实例传递给 Vehicle?真的??

不断地向我的课程传递 4-5 件东西感觉很麻烦,尤其是在我现在的场景中,我拥有的几乎每个游戏内对象都需要屏幕、物理、相机信息等。

有什么建议么?

0 投票
4 回答
2930 浏览

c++ - 在 C++ 中保留配置设置的正确设计是什么?

假设我有 ini/json 来存储我的桌面应用程序的配置设置,是否可以在启动时/在需要时加载所有属性的静态对象,或者是否有其他更好的选择?

由于这是我第一次这样做,所以只是想知道静态对象是好的还是单例模式或其他东西会更好

0 投票
7 回答
1021 浏览

.net - 性能是拥有单例类或静态类的充分理由吗?

我有一个我认为不应该是单例或静态类的类。它具有状态,尽管状态可以由消费者共享。当存在共享状态时,我喜欢远离单例,但我听到的论点是,我将从在任何给定时间只存在一个对象实例中获得性能优势。

在我的特定情况下,与此对象相关联的数据并不多——两个字典(最多)每个字典中有 150 个条目。

性能论点在什么时候——如果有的话——有任何价值吗?

仅供参考 - 我正在使用 .NET。

谢谢!

0 投票
1 回答
546 浏览

ruby - 基于单例类创建新的非单例类

是否可以在 Ruby 中基于单例类定义一个新的非单例类?

我尝试了这样的事情(片段):

但是,当然对你们大师来说,这已经很明显了,这不会像我预期的那样起作用。

基本上我想要的是重用 Singleton 类的功能,而不以任何方式影响它的行为。可能吗?

经过进一步调查,这似乎根本不可能(如果我错了,请纠正我)。像跟随这样的黑客会太丑陋/凌乱吗?

0 投票
7 回答
374 浏览

c# - 如何实现每小时运行但也可以从 .aspx 页面触发的作业?

我需要一种经常运行的方法来进行一些数据库处理。但是,我可能需要它可以由站点上的管理员触发。但我不希望此方法同时运行多次,因为这可能会导致它访问数据库的方式出现问题。

例如,我可以...

创建一个在计时器上运行该方法的单例类,并在 global.asax 文件中对其进行实例化。然后,由于它是一个单例,我可以从我的普通 .aspx 页面调用它,并在需要时调用该方法。我可能需要使用 C# 的“锁定”功能来检查该方法是否已经在运行。

我最近听到有人说单身人士是“邪恶的”,但这似乎是完美的契合。你怎么看?提前致谢。

0 投票
4 回答
8346 浏览

c# - 单实例 Windows 窗体应用程序以及如何获取它的参考?

我有一个 Windows 窗体应用程序,它当时只允许一个实例运行。我已经使用 Mutex 实现了 Singleton。应用程序必须可以从命令行启动(带或不带参数)。应用程序由脚本启动和退出。用户不能对其采取任何行动。

因此,应用程序的目的是简单的“指标”应用程序,它只会为最终用户显示一些视觉和图形信息。最终用户不能用它做任何事情,只是看到它。它是 Windows 窗体应用程序,因为视觉和图形外观相对容易实现(您可以将其置于最顶层、无边界等)。

简而言之:当有人尝试使用 exit 命令行参数运行同一个应用程序时,我如何退出当前正在运行的应用程序?

0 投票
17 回答
308512 浏览

android - 如何在Android中声明全局变量?

我正在创建一个需要登录的应用程序。我创建了主要活动和登录活动。

在主要活动onCreate方法中,我添加了以下条件:

登录表单终止时执行的onActivityResult方法如下所示:

问题是登录表单有时会出现两次(该login()方法被调用两次)并且当手机键盘滑动时登录表单再次出现,我猜问题是变量strSessionString

有谁知道如何设置变量 global 以避免在用户已经成功验证后出现登录表单?

0 投票
5 回答
7325 浏览

c++ - 具有静态成员的类与单例

只有静态成员的类不是一种单例设计模式吗?上这样的课有什么缺点吗?详细的解释会有所帮助。

0 投票
8 回答
2899 浏览

c# - 在多线程应用程序中使用单例的危险是什么

我正在考虑在多线程 Win 服务中使用单例进行日志记录,并想知道我可能遇到的一些问题。我已经设置了 get 实例来处理同步

还有什么我可能需要担心的吗?