gpt4 book ai didi

iphone - 设计 : Passing on class instances or using singletons?

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:59 24 4
gpt4 key购买 nike

我的应用程序项目包含几个服务于所有类型的帮助程序类不同目的(例如时间/日期/计算,数据库访问,..)。启动这些类非常昂贵,因为它们包含一些需要从数据库中填充或需要的属性每次创建新实例时重新计算。为了避免性能问题我倾向于在应用程序委托(delegate)中启动这些类中的每一个并将它们从 viewController 传递给 viewController。

这对我有用了一段时间,但我现在发现越多应用程序越复杂,我遇到的问题就越多。大多数问题与类纠缠在循环引用中有关。我想知道如何正确解决这个问题,我已经考虑过将每个助手类变成一个单例,并使用单例代替传递一个类实例。但是由于一些辅助类依赖于彼此我会有单例调用其他单例,我似乎不能弄清楚这最终是否会导致其他问题。有人对此有任何建议吗?

最佳答案

单例的问题在于它们使模拟和单元测试您的应用程序变得更加困难。你应该解耦你的依赖;如果您确实需要一个单例(这种情况应该非常非常罕见),那么请考虑让该单例实现一个您可以模拟用于测试目的的接口(interface)。

关于iphone - 设计 : Passing on class instances or using singletons?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com