【发布时间】:2019-08-29 16:34:04
【问题描述】:
像 Core Data 这样的数据持久性框架可以通过减少支持数据存储所需的代码量来大大加快应用程序的开发速度。
然而,采用这样一个框架的一个主要缺点是引入了不可避免地通过代码库成为全局和跨领域依赖的东西。
对此类框架的依赖有多种形式,包括但不限于:
引用或继承关键 API 类 - 因此对于 Core Data,这将是
NSManagedObjectContext和NSManagedObject等。行为依赖 - 框架提供了一些不太明显的隐式功能,应用程序在某种程度上依赖于这些功能从根本上工作。对于 Core Data,这可能是反向关系的自动管理。
功能依赖性 - 框架提供其他选项所缺乏的功能。对于 Core Data,这可能是多级撤消。
有了这个想法,我的问题是:
在处理未开发代码时,最好使用哪些策略来避免引入这样的主要横切依赖项?
当存在需要中断的现有依赖项时,最好使用哪些技术?例如,Apple 弃用了 Core Data,因此需要替换它,仅 iOS 应用程序需要成为跨平台应用程序。
【问题讨论】:
标签: ios core-data architecture dependencies dependency-management