0

我的核心数据模型相当简单但层次分明。一个 Person 实体有一组 Fund 实体。每个基金都有一组股票实体。每只股票都有一组价格实体。所以:

Person: to many Funds
Fund: to many Stocks
Stock: to many Prices

在架构上,我应该有一个类来管理每个核心数据实体的 CRUD 操作吗?我将其称为 DAO(数据访问对象)和管理器可互换。此外,如果我为每个实体都有一个管理器类,如果我想获取一个 Person 实体,我会在管理器中写什么?

为了得到一个人,我不需要得到一个人的资金吗?然后使用 Fund DAO/manager 获取基金的股票;然后使用股票的 DAO/经理来获取股票的价格?

为了构建一个“完整”的人,这对我来说似乎是必要的。但是如果我只想获取一个人的姓氏呢?这只是 Person 中的一个字段,不需要任何关系。getter 是否应该获取给定 Person 的整个对象图?如果我设置了一个人,我是否也需要设置他/她的所有相关对象?

谢谢!

4

1 回答 1

0

1.

但是如果我只想获取一个人的姓氏呢?这只是 Person 中的一个字段,不需要任何关系。getter 是否应该获取给定 Person 的整个对象图?

当你得到 aPerson时,他fund的 s 将是错误的。故障和唯一性 - 核心数据编程指南

2.

如果我设置了一个人,我是否也需要设置他/她的所有相关对象?

不,您也不需要设置他的所有相关对象,除非相关对象不是可选的。所以当你的人需要有一个基金时,你可以把基金加到这个人身上。


在我的开发习惯中,我想对人进行分类,并添加一些类方法,例如:

+ [Person newPersonWithFirstName:(NSString *)firstName lastName:(NSString *)lastName];

处理Person相关的事情。

于 2013-11-06T13:03:28.447 回答