有哪些技术原因不创建单例类来管理我的核心数据?我现在正在尝试做出决定,是否应该删除所有样板核心数据代码并在单例中重新实现它。
Xcode 模板中的应用程序委托中的样板代码在功能上是作为单例实现的。应用程序对象是一个单例,它只维护一个委托对象,因此您只有一个核心数据堆栈实例,并且由于应用程序对象是普遍可访问的,因此您也始终可以访问应用程序委托。
然而,即使这也仅适用于具有一个持久存储的简单应用程序,并且所有上下文都使用该存储。在更复杂的应用程序中,您可能有多个存储或上下文,因此单例很快就会变得过于臃肿。
单例通常不会给您带来太多复杂性隐藏或节省重复编码,因为您必须使用核心数据进行的大部分编码都位于将模型链接到视图/界面的控制器层中。由于该逻辑通常是每个视图自定义的,因此您实际上无法将其停放在单例中。
我过去使用过单例,但最终证明它们通常比它们的价值更麻烦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)