我正在写我的第一个iPhone应用程序,我在切换视图时遇到了麻烦。 我有2个视图和每个在AppDelegate ( UIApplicationDelegate的实例)的引用。 我在applicationDidFinishLaunching创build了两个实例,并立即显示第一个视图。 这工作正常。 问题是其他视图的引用是在AppDelegate中 ,我无法弄清楚如何获得对它的引用,所以我可以切换到另一个视图。 有没有办法获得对主UIApplication或UIApplicationDelegate对象的引用?
当一个人使用一个Monostate模式而不是Singleton来维持一个全局对象时,情况是什么? 编辑:我知道什么Singleton和Monostate模式。 在很多情况下也实现了Singleton。 只是想知道需要实现MonoState模式的场景(例子)。 例如。 我需要维护我的Windows窗体应用程序的每个屏幕列的列表。 在这种情况下,我可以使用单例字典。 然而,我在静态全局variables存储一个列表,我想提供索引(因为我需要dynamic地添加新的条目,如果键不存在),我可以指定ScreenDetails.ScreenName作为一个关键&得到ScreenDetails .ColumnsTable。 由于索引器无法在静态类上运行,因此将模式更改为Monostate。 所以我想知道哪些其他场景可能迫使用户使用Monostate而不是Singletons。
我从来没有find关于助手/实用程序类的简单问题的好答案: 为什么我会创build一个单身(无状态),而不是使用静态方法? 如果一个对象没有状态,为什么需要一个对象实例呢?
我们有一个保存应用程序configuration信息的类。 它曾经是一个单身人士。 经过一些build筑审查,我们被告知要删除单身人士。 我们确实看到了在unit testing中不使用单例的一些好处,因为我们可以一次testing不同的configuration。 如果没有单例,我们必须在代码中的任何地方传递实例。 它变得如此混乱,所以我们写了一个单例包装器。 现在我们将相同的代码移植到PHP和.NET,我想知道是否有更好的模式,我们可以使用configuration对象。
换句话说,这个Singleton实现是否是线程安全的: public class Singleton { private static Singleton instance; private Singleton() { } static Singleton() { instance = new Singleton(); } public static Singleton Instance { get { return instance; } } }
看起来好像我错过了这个观点,或者误解了Ruby中单例类的重要性。 我从很多方面听过和读过这些东西 – 比其他东西更复杂一些 – 但我对它是什么感到困惑。 它本身是一个阶级吗? 这是所有物体属于“阶级”的原因吗? 这个概念是模糊的 ,但是我相信它跟我为什么可以定义一个类方法(class foo; def foo.bar …)有关系。 那么:Ruby中的单例类是什么?
我用Visual Studio Team Editiontesting框架准备了一些自动testing。 我想要一个testing连接到数据库按照正常的方式在程序中完成: string r_providerName = ConfigurationManager.ConnectionStrings["main_db"].ProviderName; 但是,我正在接受这一行的例外。 我想这是因为ConfigurationManager是一个单身人士。 你怎么能用unit testing解决单身问题? 感谢您的答复。 他们都非常有教育意义。
我如何在Objective C中创build一个单例类?
我有关于单例模式的一些问题在这里logging: http : //msdn.microsoft.com/en-us/library/ff650316.aspx 以下代码是文章的摘录: using System; public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() {} public static Singleton Instance { get { if (instance == null) { lock (syncRoot) { if (instance == null) instance = new Singleton(); } } return instance; } […]
我看到一些人在评论Singleton Pattern是反模式。 我想知道为什么?