草庐IT

Singleton

全部标签

c# - 为多个接口(interface)返回相同的实例

我正在使用以下代码注册组件:StandardKernelkernel=newStandardKernel();stringcurrentDirectory=Path.GetDirectoryName(GetType().Assembly.Location)foreach(varassemblyinAppDomain.CurrentDomain.GetAssemblies()){if(!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory))continue;foreach(vartypeinassembly.G

c# - Unity 单例管理器类

在Unity中,创建单例游戏管理器的好方法是什么?它可以作为全局类随处访问,具有静态变量,将相同的常量值分配给提取这些值的每个类?在Unity中实现它的方式是什么?我必须将它附加到游戏对象吗?它可以只存在于一个文件夹中,而不是在视觉上出现在场景中吗? 最佳答案 一如既往:视情况而定。我使用两种类型的单例、附加到GameObject的组件和不是从MonoBehaviour派生的独立类。IMO的总体问题是实例如何绑定(bind)到场景、游戏对象的生命周期,...并且不要忘记有时拥有一个组件更方便,尤其是引用其他MonoBehaviour

c# - Unity 单例管理器类

在Unity中,创建单例游戏管理器的好方法是什么?它可以作为全局类随处访问,具有静态变量,将相同的常量值分配给提取这些值的每个类?在Unity中实现它的方式是什么?我必须将它附加到游戏对象吗?它可以只存在于一个文件夹中,而不是在视觉上出现在场景中吗? 最佳答案 一如既往:视情况而定。我使用两种类型的单例、附加到GameObject的组件和不是从MonoBehaviour派生的独立类。IMO的总体问题是实例如何绑定(bind)到场景、游戏对象的生命周期,...并且不要忘记有时拥有一个组件更方便,尤其是引用其他MonoBehaviour

c# - 带参数的单例

我需要一个单例类来实例化一些参数。我现在的做法是:classSingletonExample{privateSingletonExamplemInstance;//othermembers...privateSingletonExample(){}publicSingletonExampleInstance{get{if(mInstance==null){thrownewException("Objectnotcreated");}returnmInstance;}}publicvoidCreate(stringarg1,stringarg2){mInstance=newSinglet

c# - 带参数的单例

我需要一个单例类来实例化一些参数。我现在的做法是:classSingletonExample{privateSingletonExamplemInstance;//othermembers...privateSingletonExample(){}publicSingletonExampleInstance{get{if(mInstance==null){thrownewException("Objectnotcreated");}returnmInstance;}}publicvoidCreate(stringarg1,stringarg2){mInstance=newSinglet

c# - WPF 单实例最佳实践

这是我迄今为止为创建单个实例WPF应用程序而实现的代码:#regionUsingDirectivesusingSystem;usingSystem.Globalization;usingSystem.Reflection;usingSystem.Threading;usingSystem.Windows;usingSystem.Windows.Interop;#endregionnamespaceMyWPF{publicpartialclassMainApplication:Application,IDisposable{#regionMembersprivateInt32m_Mess

c# - WPF 单实例最佳实践

这是我迄今为止为创建单个实例WPF应用程序而实现的代码:#regionUsingDirectivesusingSystem;usingSystem.Globalization;usingSystem.Reflection;usingSystem.Threading;usingSystem.Windows;usingSystem.Windows.Interop;#endregionnamespaceMyWPF{publicpartialclassMainApplication:Application,IDisposable{#regionMembersprivateInt32m_Mess

c# - ASP .NET 单例

只是想确保我在这里没有做出愚蠢的假设,当在ASP.NetWeb应用程序中实现单例模式时,静态变量范围仅适用于当前用户session,对吗?如果第二个用户正在访问该站点,那么它是一个不同的内存范围...? 最佳答案 静态成员只有当前工作进程的范围,所以它与用户无关,因为其他请求不一定由同一个工作进程处理。为了与特定用户和跨请求共享数据,请使用HttpContext.Current.Session。为了在特定请求中共享数据,请使用HttpContext.Current.Items。为了在整个应用程序中共享数据,要么为此编写一个机制,要么

c# - ASP .NET 单例

只是想确保我在这里没有做出愚蠢的假设,当在ASP.NetWeb应用程序中实现单例模式时,静态变量范围仅适用于当前用户session,对吗?如果第二个用户正在访问该站点,那么它是一个不同的内存范围...? 最佳答案 静态成员只有当前工作进程的范围,所以它与用户无关,因为其他请求不一定由同一个工作进程处理。为了与特定用户和跨请求共享数据,请使用HttpContext.Current.Session。为了在特定请求中共享数据,请使用HttpContext.Current.Items。为了在整个应用程序中共享数据,要么为此编写一个机制,要么

c# - 依赖注入(inject)与服务位置

我目前正在权衡DI和SL的优缺点。然而,我发现自己陷入了以下陷阱22,这意味着我应该只对所有内容使用SL,并且只将IoC容器注入(inject)每个类。DICatch22:有些依赖项,如Log4Net,根本不适合DI。我称这些为元依赖,并认为它们对于调用代码应该是不透明的。我的理由是,如果一个简单的类“D”最初是在没有日志记录的情况下实现的,然后增长到需要日志记录,那么依赖类“A”、“B”和“C”现在必须以某种方式获得这种依赖并将其从“A”到“D”(假设“A”组成“B”,“B”组成“C”,依此类推)。我们现在对代码进行了重大更改,因为我们需要登录一个类(class)。因此,我们需要一种