我对设计模式有点菜鸟。我刚刚开始使用单例,我正在考虑使用单例来方便地将数据存储在一个集中的位置,但在这样做之前我读了一些帖子,这些帖子似乎在说这不是正确的设计(或者我可能很困惑) ,但不清楚为什么。我想做的是:
将多个对象数组存储在一个集中的位置,以便可以处理对象以实现持久性。
如果不是单例有没有更好的方法来做到这一点?如果这是糟糕的设计,很高兴知道为什么。
最佳答案
单例模式的有用性和适用性在很大程度上取决于它所应用的环境。
关于它的最大提示是基于单例的代码的可测试性。其他提示包括它在并发环境中可能出现的潜在问题,以及在尝试回收单例拥有的资源时可能面临的困难。
但是,这些问题都不是开发 iOS 应用程序的主要问题:
- 您的应用程序中的模型通常只有一个单例;您可以使其可交换以确保可测试性,例如通过读取类的名称以从运行时配置中实例化,或从运行时环境中推导它。
- 尽管 iOS 应用使用并发构造,但它们大部分是单线程的。
- iOS 应用程序一直运行到最终用户终止它们,此时操作系统会自动回收资源;杀死单例不会出现特定问题。
由于这些考虑,单例模式成为 iOS 应用程序的流行实现技术。只要您知道它的缺点并愿意与它们一起工作,那么在您的 iOS 应用中使用单例模式绝对没有错。
关于ios - 有效使用单例,Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17984356/