singleton 相关问题

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

如何确保我的类Initialize方法只被调用一次,最好的方法是什么?

我目前正在使用 Unity IoC 容器,这是我的 AppConfig 类。正如您所看到的,Initialize 方法应该只调用一次,我使用了双重锁检查来确保这一点。 什么...

回答 5 投票 0

连接管理器作为单例

假设我创建了对象来管理连接作为signleton,例如: 公共类数据库连接{ 私有静态连接 con = null; 静止的 { String url = "jdbc:`\[`mys...

回答 1 投票 0

模板化单例包装器 c++

我刚刚对一个奇怪的设计进行了技术测试,在第一次感受到厌恶之后,我开始看到一些有用的用例。我想知道你对此有何看法。 练习的目标:

回答 1 投票 0

Log4j 单例包装器的好处?

我最近继承了一些Java代码,需要将其集成到我正在开发的项目中。我的项目是一个处理和转换 XML 消息的服务代理。在寻找的同时...

回答 4 投票 0

缓存Python类实例

我有一个内存密集型类,比如说代表高分辨率资源的类型(即:媒体、模型、数据等),可以使用相同的参数多次实例化,例如相同的文件...

回答 2 投票 0

Scala:对多态类型的单例实例不使用 Nothing

给定多态性特征,例如 特征 Transform[T] { def apply( t: T ) : T } 人们可能想实现各种专门的实例,例如 案例类 Add[Double] 扩展 Transform[Double]...

回答 2 投票 0

Python 单例数据类

我有一堂这样的课: from __future__ 导入注释 导入操作系统 从数据类导入数据类 @dataclass(冻结=真) 类配置: 名称:str 年龄:str @静态方法 德...

回答 2 投票 0

单例被摧毁

我正在编写一个带有可以重写方法的类,问题是当我构造重写这些方法的类时,单例可以工作,而带有重写方法的类仍然是...

回答 1 投票 0

如何在java中使单例bean线程安全并具有更好的性能?

我正在尝试与多个用户测试下面的代码。但是由于该类是由 spring 管理的单例,因此只有一个已创建的对象,并且多个线程试图访问该对象......

回答 1 投票 0

为什么我们应该将 «Logger» 类视为单例?

我们都知道日志,好吧,但是为什么我们应该将“Logger”类视为单例类呢?如果我们将其作为普通的非单例类会发生什么?

回答 5 投票 0

如何在 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

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