标签: ios design-patterns core-data database-design
假设我们有一个简单的核心数据模型,可以跟踪一堆客户所做的交易,但出于某种原因,当我们查看交易时,我们想知道交易时的客户地址。制成。
如果客户更改了他们的地址,那么存储旧客户状态的最佳方式是什么?
一种方法可能是将客户的地址存储在交易中,但这并不适用于多对多关系,例如:如果先前交易中多个产品的价格发生变化,我们将如何记录?
另一种选择是复制对象,但我们需要一些方法来了解哪一个是当前的。创建与交易和客户/产品相关的中间实体会更好吗?
答案 0 :(得分:1)
根据您的描述,我可能会这样做:
Customer
Address
Transaction
pastAddresses