singleton 相关问题

一种设计模式,可确保存在特定类的一个应用程序范围的实例。 Gang of Four的创作设计模式之一。

如何在 Getx Flutter 中使用控制器的多个实例

我已经实现了类似YouTube的搜索栏,但我需要在同一页面中使用两次,但控制器的实例是相同的,因此它们充当一个控制器。请指导我如何获得多个

回答 1 投票 0

可以在没有私有构造函数的情况下创建单例吗?

private static PostalCodeInfoTable postalCodeInfoTable = new PostalCodeInfoTable(); 公共静态邮政编码信息表 GetInstance() { 返回邮政编码信息表; } 公共邮政编码信息Ta...

回答 5 投票 0

如何高效且线程安全地实现单例? [重复]

单例类的通常模式是这样的 静态 Foo &getInst() { 静态 Foo *inst = NULL; if(inst == NULL) inst = new Foo(...); 返回*安装; } 然而,这是我的

回答 9 投票 0

差异:@SessionScoped 与 @Stateful 和 @ApplicationScoped 与 @Singleton [已关闭]

我想知道,以下之间的主要区别是什么: javax.enterprise.context.SessionScoped 和 javax.ejb.Stateful javax.enterprise.context.ApplicationScoped 和 javax.ejb.Singleton 我

回答 1 投票 0

多个类加载器和单例

我最近了解到一个java程序可以有多个类加载器。我发现一些 StackOverflow 帖子解释了如何创建单例对象。 常见的方法是这样的......

回答 3 投票 0

C++ 从对象获取模板类型

我目前正在开发一个 GUI 应用程序。 我的 GUI 应用程序类是一个单例,它依赖于模板化互斥体和模板化事件处理任务。 //GUIApplication.hpp #包括 我目前正在开发一个 GUI 应用程序。 我的 GUI 应用程序类是一个单例,它依赖于模板化互斥体和模板化事件处理任务。 //GUIApplication.hpp #include <cassert> template<typename Task_T, typename Mutex_T> class GUIApplication { public: GUIApplication() { m_pInstance = this; } static Mutex_T& getMutexInstance() { assert(nullptr != m_pInstance); return m_pInstance->m_GuiMutex; } private: inline static GUIApplication<Task_T, Mutex_T>* m_pInstance = nullptr; Task_T m_eventTask; Mutex_T m_GuiMutex; }; 现在我有一些其他类需要在执行操作之前锁定互斥体。但是我不想用这些其他类制作模板。有没有办法从 GUIApplication 的当前实例“派生”或“保存”模板类型。 //Foo.hpp class Foo { public: Foo(); }; //Foo.cpp #include <mutex> Foo::Foo() { //here (obviously) the template auto argument deduction fails auto lock = std::scoped_lock(GUIApplication::getMutexInstance()); //do stuff here.... } 谢谢大家的帮助:) 显然,您无法避免为 GUIApplication 指定模板参数,因此 GUIApplication::getMutexInstance 无法工作。 然而,巧妙地使用别名可以帮助您避免重复自己: using Mutex = std::mutex; using Task = MyTask; using App = GUIApplication<Task, Mutex>; auto lock = std::scoped_lock(App::getMutexInstance()); 同样,您可以向 GUIApplication 添加别名成员,以便更轻松地从中提取模板参数: template<typename Task_T, typename Mutex_T> class GUIApplication { public: using Task = Task_T; using Mutex = Mutex_T; // ... }; // ... using App = GUIApplication<Task, Mutex>; using Task = App::Task; using Mutex = App::Mutex;

回答 1 投票 0

如何避免一遍又一遍地创建同一个对象?

我继续研究我的 TCP 套接字,正如今天早上提到的。 我发现每次我通过这样的套接字发送消息时,套接字的数量都会不断增加。这仅仅意味着我...

回答 2 投票 0

Typescript/ES6 中单例模式的正确方法是什么?

类 Foo{ } var 实例:Foo; 导出函数 getFooInstance(){ /* 逻辑 */ } 或者 导出类 Foo{ 私有静态_实例; 私有构造函数(){}; public getInstance(){/* l...

回答 3 投票 0

C# Httpclient 单例在多个客户端/用户上具有相同的身份验证标头

我有一个调用 API 的 Azure 函数,我在启动依赖注入中将 HttpClient 作为单例,这样我就可以在我的承包商上调用它。我下面的代码使用相同的

回答 1 投票 0

Java 中的会话管理

我正在尝试在一个简单的 Java 应用程序中管理会话。我的想法是创建一个 SessionManagerSingleton 实例化会话和实际会话,其中保存真实信息,l...

回答 1 投票 0

如何确保单例类只创建一个实例?

我已经阅读了单例设计模式的概念,并理解为了创建一个类单例,我们必须执行以下步骤: 1)私有构造函数来限制类的实例化

回答 1 投票 0

多个单例c#实例

是否有一种类似单例模式的实现,允许创建多个实例? 我的类定义是: 公共类记录器 { 私有记录器(字符串logPath) { 这个。

回答 3 投票 0

如何在Unity中创建通用的单例类?

我是Unity的初学者。 我在学习的时候有个问题。 我参考下面的文档。 使用Unity引擎; 公共类 Singleton : MonoBehaviour 其中 T : MonoBehaviour { 私人

回答 2 投票 0

当我们可以在 Flutter 中使用 Singleton 类时,为什么我们需要像 get_it 这样的服务定位器

为了在flutter中创建API存储库、DioClient、数据库访问类,我们可以使用单例模式并创建单例类。那么,使用 get_it 这样的服务定位器有什么好处呢?

回答 1 投票 0

替代 Swift 中的单例实现?

我正在开发一个具有 ContentManager 类的应用程序。此类从捆绑包中迁移文件,并在应用程序首次打开时执行其他检查。接下来它会在 ViewController 中使用...

回答 1 投票 0

将类传递给 .environmentObject 修饰符是否相当于创建一种单例?

Apple 喜欢单例,但单例被认为是不好的做法,我正在尝试从要转换为 SwiftUI 的应用程序中删除它们。 我有一个用于 App Store 购买和恢复的单例......

回答 1 投票 0

如何在 Kotlin 中制作数据类单例?

假设我有一个数据类: 数据类 SensorData(val 名称:String,val temp:Double) 我从 REST 服务或内部 setter 方法创建此 SensorData 对象,而名称是 al...

回答 5 投票 0

如何在Python中定义单例方法

在Ruby中我们有多种方式可以让我们访问和修改实例的单例类,比如 https://ruby-doc.org/core-2.4.1/Object.html#method-i-singleton_class 或者 https://ruby-do...

回答 1 投票 0

最小化 Meyers 的单例开销

迈耶斯·辛格尔顿,s。 t: Foo& getSingleton() { 静态 Foo 单例; 返回单例; } 已知的是: 线程安全。 里面有一个分支。 而且它也恰好是最简单的...

回答 2 投票 0

IServiceCollection.AddSingleton 线程安全吗?

考虑以下扩展函数: 公共静态类扩展 { public static IServiceCollection AttachNativeLogger(此IServiceCollection服务,ILogger记录器) { //

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.