我在这个网站上见过很多“单身汉是邪恶的”。
这几乎让我相信单身汉是病态的骗子。
但是,
如果这是真的,为什么可可中有这么多的单子呢?像shareapplication、sharemanager等等。
我想知道如果我不使用单例模式,我怎么能做同样的事情。例如,确保只有一个实例,并在需要时访问它。
所以我会怀疑这句话,直到我能想出更好的办法。
请帮帮我。谢谢

最佳答案

没有一个单一的特征或模式是天生邪恶的。甚至goto也有其用途,有时可以提高可读性。”“单例是邪恶的”来自于这样一个事实,即许多新手开发人员容易滥用它们。所以这是一个常识,有时候常识不是最好的解决办法。
在你的例子中,shared...在技术上不是单体的。您可以同时创建数千个UIApplicationNSFileManager实例。它们更像是服务定位器(“查找我的应用程序”、“查找我的默认文件管理器”)。这些方法为我们提供了一些有用的共享值,我们需要99%的时间。尽管这会使单元测试更加困难,但好处是值得的。

关于objective-c - cocoa 中的单例,他们是邪恶的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13306268/

10-10 14:25