核心数据单例管理器?

2024-04-02

有哪些技术原因不创建单例类来管理我的核心数据?我现在正在尝试做出决定,是否应该删除所有样板核心数据代码并在单例中重新实现它。


Xcode 模板中的应用程序委托中的样板代码在功能上是作为单例实现的。应用程序对象是一个单例,它只维护一个委托对象,因此您只有一个核心数据堆栈实例,并且由于应用程序对象是普遍可访问的,因此您也始终可以访问应用程序委托。

然而,即使这也仅适用于具有一个持久存储的简单应用程序,并且所有上下文都使用该存储。在更复杂的应用程序中,您可能有多个存储或上下文,因此单例很快就会变得过于臃肿。

单例通常不会给您带来太多复杂性隐藏或节省重复编码,因为您必须使用核心数据进行的大部分编码都位于将模型链接到视图/界面的控制器层中。由于该逻辑通常是每个视图自定义的,因此您实际上无法将其停放在单例中。

我过去使用过单例,但最终证明它们通常比它们的价值更麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

核心数据单例管理器? 的相关文章

随机推荐

  • 正则表达式替换R中的所有上标

    尽管有很多关于 R 中的正则表达式的示例和问题 但它们似乎都不适合我的问题 在我的项目中 我正在努力处理像 4x1 1x1 这样的字符串 上标字符对我来说似乎很有问题 我的目标 从4x1 1x1 我想要得到4x1 1x1 只需将所有上标替换
  • 设置了正确的内容类型,但 .ipa 文件被视为 .zip 文件

    我编写了一个小型 Rails 应用程序 我可以在其中上传三个文件 我需要这些文件来无线分发临时构建 这包括一个 ipa文件 一个 mobileprovisioning文件和一个 plist File 现在的问题是 当我点击链接时 ipa归档
  • 是否可以在 Netbeans 7.0 应用程序中使用 Jzy3D?

    好吧 我们正在尝试将 3D 散点图合并到 Netbeans 7 0 中的项目中 我们选择测试的库之一是 Jzy3D 看起来它会做我们需要它做的一切 但不幸的是 它什么也没做 我已经正确安装了 JOGL 并对其进行了测试 发现它可以正常工作
  • 阻止 FlowType 检查 node_modules 中的错误

    我曾尝试寻找解决方案或解决此问题的方法 但没有成功 以下是描述我的流程安装以及最终我面临的问题的一些步骤 Step 1 我使用创建了一个新的反应本机项目react native init TestProject 我想配置flow http
  • 在 dotnet 新模板中包含“隐藏”文件

    我正在尝试创建一个简单的dotnet new包含我的团队使用的 默认 editorconfig 和 gitconfig 的模板 不幸的是 files 不会被包含在dotnet pack 这是我的 csproj 的一部分
  • SonataAdminBundle表单字段查询

    在 Admin 类的 SonataAdminBundle 中 我无法创建ManyToMany 字段上的 orderBy https github com sonata project SonataAdminBundle issues 328
  • 在 C++ 的 if 语句中使用多个条件

    我正在尝试在 C 中创建一个复杂的 if 语句 这将使我免于编写一大堆 if 语句 我想知道下面的代码是否确实有意义 或者我忽略了一个错误 if input choice cout lt lt Tie lt lt endl else if
  • Flyway Gradle 插件 - 循环依赖

    我有一个使用 gradle flyway gradle 插件 mybatis 生成器和 postgres 的项目 在我的 build gradle 中 我有 compileJava dependsOn myBatisGenerator 我想
  • LinkedIn 集成 r_network 和 w_messages 请求在 iOS sdk 中无法协同工作

    我已经完成了 LinkedIn 集成 并且必须向特定用户发送消息 为此 我首先要获取连接 然后发送消息 void requestTokenFromProvider OAMutableURLRequest request OAMutableU
  • 具有不重叠条目集的两列值的共同出现表

    import pandas as pd 可重复的设置 我有一个数据框 df pd DataFrame from dict A a b b c d d c b B p q p q r r p q ie A B 0 a p 1 b q 2 b
  • 如何编写 T4 模板以从 Entity Framework 6 创建 DTO?

    我有一个大型数据库 我在 Entityframework 中使用数据库优先模型 它位于互联网服务器上并通过 WCF 进行通信 域模型使用所有小写字母来表示实体 存储过程和列 属性的名称 在我的客户端应用程序中 我希望使用标准 PascalC
  • JS 可变变量可以从闭包访问[重复]

    这个问题在这里已经有答案了 所以我的 JS 编译器中有一个警告 但是你能向我解释一下这是否真的会影响我的代码的执行方式吗 for x 0 x lt levels length x var level levels x var candles
  • 通过php代码在xls表中插入图片

    问候 我必须在行 0 列 0 上插入徽标 图像 我为此使用 Spreadsheet Excel Writer 我尝试了它的 insertBitmap 方法 程序工作正常 但不显示位图图像在 xls 工作表上 而不是空白行 可能是什么原因 您
  • 分发预先经过 NGEN 处理的程序集是否有意义?

    我发现了一些关于使用 NGEN 作为安装程序的最后一步的有趣链接这个帖子 https stackoverflow com questions 522323 how do i run ngen at the end of the instal
  • 使用一个套接字创建 2 个流

    我正在尝试创建一个在互联网上运行的多人游戏 问题是我正在尝试获取流上的输入 但由于某种原因我无法使用一个套接字创建 2 个流 我将解释一下 Socket s new Socket 127 0 0 1 5001 ObjectInputStre
  • 如何将 csv 文件导入 MySQL Workbench?

    我有一个 CSV 文件 它包含 140 万行数据 因此我无法在 Excel 中打开该 csv 文件 因为它的限制约为 100 万行 因此 我想在MySQL Workbench中导入这个文件 此 csv 文件包含类似以下的列 Service
  • 如何找到图像中最密集的区域?

    考虑一个黑白图像 例如this http img13 imageshack us img13 7401 10416827 jpg 我想做的是找到白点最密集的区域 在这种情况下 有 20 21 个这样的密集区域 即 点簇构成一个密集区域 谁能
  • 以编程方式确定身份验证模式

    有没有办法以编程方式确定 SharePoint 2007 Web 应用程序是否正在使用表单身份验证 我想一种方法可能是从 web config 中读取它 但我想知道 API 中是否公开了一些属性 看看 admin Authenticatio
  • 尽早停止詹金斯管道作业

    在我们的 Jenkins Pipeline 工作中 我们有几个阶段 我想要的是 如果任何一个阶段失败 那么构建就会停止 而不是继续到进一步的阶段 以下是其中一个阶段的示例 stage Building def result sh retur
  • 核心数据单例管理器?

    有哪些技术原因不创建单例类来管理我的核心数据 我现在正在尝试做出决定 是否应该删除所有样板核心数据代码并在单例中重新实现它 Xcode 模板中的应用程序委托中的样板代码在功能上是作为单例实现的 应用程序对象是一个单例 它只维护一个委托对象