草庐IT

Singleton

全部标签

android - Dagger 2 : Unable to inject singleton in other scope

我有Singleton作用域模块,它提供一些标准的单例:应用程序、数据库服务等。但是对于Activity,我有单独的模块应该为他的Activity创建Presenter,我需要将Application上下文传递给它。但是在尝试编译项目时出现以下错误:Error:(13,1)error:xxx.SplashComponentscopedwith@xxx.ViewScopemaynotreferencebindingswithdifferentscopes:@Provides@Singletonxxx.ApplicationModule.provideAppContext()这是我的应用程

android - Dagger 2、库模块和@Singleton

我正在尝试在具有多个Android库模块的Android项目中使用Dagger2,并且我希望能够提供类的单例范围实例来自这些模块。目前,我能够在库模块中定义组件,并在主应用程序模块中注入(inject)实例。我无法做的是提供一个实例作为单例。项目结构如下:Project├──app├──library1···└──libraryN在库中,我以这种方式定义组件:@ComponentpublicinterfaceLibraryComponent{//ProvideinstancesofMyManagertoMainComponent:MyManagergetMyManager();}MyM

android - 使用 Singleton 设计模式正确打开/关闭数据库

我正在创建一个与数据库进行大量交互(读取和写入操作)的应用程序。为了避免在每次请求时都进行打开/关闭操作,我创建了一个使用单例设计模式扩展SQLiteOpenHelper的类。这样,我可以确定在所有应用程序生命周期(不仅是Activity生命周期)。我也阅读了一些关于ContentProvider的文章,但我不确定这是更好的方法。所以,这是我的Singleton类的主要逻辑(onCreate和onUpgrade已删除):publicfinalclassBaseSQLiteextendsSQLiteOpenHelper{privatestaticBaseSQLitemInstance=n

c++ - 需要在 Singleton 类中私有(private)化赋值运算符

有人可以证明在Singleton类实现中私有(private)化赋值运算符的必要性吗?将Singleton&operator=(Singletonconst&);私有(private)化解决了什么问题?classSingleton{public:staticSingleton&Instance(){staticSingletontheSingleton;returntheSingleton;}private:Singleton();//ctorhiddenSingleton(Singletonconst&);//copyctorhiddenSingleton&operator=(Sin

json - 如何序列化/反序列化 Kotlin 密封类?

我有以下密封类:sealedclassViewModel{dataclassLoaded(valvalue:String):ViewModel()objectLoading:ViewModel()}我如何序列化/反序列化ViewModel类的实例,比如JSON格式?我尝试使用Genson序列化器/反序列化器库-它可以处理Kotlin数据类,还可以支持多态类型(例如,使用一些元数据来指定具体类型)。但是,库在Kotlinobject类型上失败,因为这些是没有公共(public)构造函数的单例。我想我可以编写一个自定义的Genson转换器来处理它,但也许有更简单的方法来做到这一点?

json - 如何序列化/反序列化 Kotlin 密封类?

我有以下密封类:sealedclassViewModel{dataclassLoaded(valvalue:String):ViewModel()objectLoading:ViewModel()}我如何序列化/反序列化ViewModel类的实例,比如JSON格式?我尝试使用Genson序列化器/反序列化器库-它可以处理Kotlin数据类,还可以支持多态类型(例如,使用一些元数据来指定具体类型)。但是,库在Kotlinobject类型上失败,因为这些是没有公共(public)构造函数的单例。我想我可以编写一个自定义的Genson转换器来处理它,但也许有更简单的方法来做到这一点?

C++:未定义对 Singleton 类中实例的引用

我目前正在尝试将工厂实现为单例。我实际上使用了单例模式的教科书示例。这是.h文件:namespaceoxygen{classImpFactory{public:staticboost::shared_ptrGetInstance();private:staticboost::shared_ptrmInstance;};这是.cpp文件:#include"impfactory.h"usingnamespaceoxygen;usingnamespaceboost;shared_ptrImpFactory::GetInstance(){if(mInstance.get()==0)mInsta

c++ - 用 Singleton 保护资源?

我已经阅读了很多关于SO的博客文章和答案,指出Singleton是一个糟糕的设计。以前我实现了一个单例CameraControl类。此类控制连接到系统的相机。在以下知识下:在任何情况下都不会有超过一个摄像头(摄像头制造商提供的摄像头API控制所有摄像头)。同时在多个地方使用相机制造商的API在过去曾引起过问题(例如,一个线程试图抓取图像,另一个线程试图设置快门速度)。我的类(class)只提供了几个额外的方法来显示在UI中捕获的图像。将图像转发到人脸检测器,...(即它不是内存密集型的)。我选择让这个类成为单例类是一个错误的决定吗? 最佳答案

c++ - 帮我去掉一个Singleton : looking for an alternative

背景:我有一些类实现了主题/观察者设计模式,我已将其设为线程安全。subject将通过一个简单的方法调用通知它的observers在发出通知的同一线程中构造。但是如果observer是在不同的线程中构建的,那么通知将被发布到queue中,稍后由构建observer然后在处理通知事件时可以进行简单的方法调用。所以……我有一个关联线程和队列的映射,当线程和队列被构造和销毁时,它会被更新。该映射本身使用互斥锁来保护对它的多线程访问。map是单例的。我过去一直对使用单例感到内疚,因为“这个应用程序中只有一个”,相信我-我已经付出了我的苦修!我的一部分不禁想到应用程序中真的只有一个队列/线程映射

c# - 订阅的Singleton类事件未触发

订阅的Singleton方法未触发-嵌套的Windows窗体将对新移动设备的支持添加到旧版应用程序。基于本文实现的单例类CreateEventonSingletonClasspublicsealedclassSingleton{staticreadonlySingletoninstance=newSingleton();//ExplicitstaticconstructortotellC#compiler//nottomarktypeasbeforefieldinitstaticSingleton(){}Singleton(){}publicstaticSingletonInstanc