![]() |
1
2
我想真正的答案是:如果你知道你在做什么,而且你对如何安全地做有很好的把握,那当然。 但既然你问: 我的回答是不。 这里显示的静态变量是singleton模式(如果您在任何地方都使用它)。这个 singleton pattern 通常感觉这样做是正确的,但是当您开始添加线程并希望使用不同的数据提供程序时,事情开始变得有缺陷、更复杂和丑陋。 你最好用 dependency injection 与 factory pattern 使用对象 你实例化了 就一次。 这样做的代码实在不多。当您想要注入它(编译时或运行时)时,选择就变成了,swift使这一切变得非常容易。如果你想用一个例子来编辑,请告诉我。这样做的代码要多一些,但从长远来看,对于大多数情况,这会让你省去很多心痛。做一些关于单身汉利弊的研究。大多数人都认为在大多数情况下这是个坏主意。 我要加一段 a book 我强烈建议:
这本书还引用了对这本标志性著作作者的采访 Design Patterns 作者基本上说他们不介意放弃singleton模式,因为它从来没有被正确使用过。 一本具有代表性和影响力的关于抽象设计模式的书的作者开玩笑说(我认为这是个玩笑)从他们的书的新修订版本中删除了单例设计模式… 也许真正的答案总是否定的。 |
![]() |
Danil · 种子/填充核心数据的最佳实践?[关闭] 5 月前 |
![]() |
Robin · LazyVGrid项目预计不会击中测试区域 5 月前 |
![]() |
Alex Smith · 移动到下一个视图控制器后如何显示警报? 5 月前 |
![]() |
selcukctn · 如何在react native中制作无限动画? 6 月前 |
![]() |
Nicolas Gimelli · iOS 18远程通信通知不起作用 6 月前 |