我的核心数据模型相当简单,但分层。 个人实体具有一组基金实体。每个基金一组股票实体。每只股票都有一组价格实体。 所以:
Person: to many Funds
Fund: to many Stocks
Stock: to many Prices
从体系结构上讲,我是否应该有一个类来管理每个核心数据实体的 CRUD 操作? 我称之为DAO(数据访问对象)和管理器可以互换。此外,如果我为每个实体都有一个经理类,如果我想抓取 Person 实体,我会在管理器中写什么?
为了获得一个人,我不需要获得一个人的资金;然后使用基金DAO/经理来获取基金的股票;然后使用股票的DAO/经理来获取股票的价格吗?
这对我来说似乎是必要的,以便构建一个"完整"的人。但是,如果我只想获取一个人的姓氏怎么办? 这只是一个人中的一个领域,不需要任何关系。 getter应该得到给定人员的整个对象图吗? 如果我设置了一个人,我是否也需要设置他/她的所有相关对象?
谢谢!
1.
但是,如果我只想获取一个人的姓氏怎么办?这只是一个人中的一个领域,不需要任何关系。getter应该得到给定人员的整个对象图吗?
当你得到一个Person
时,他的fund
将是错误的。故障和统一 - 核心数据编程指南
阿拉伯数字。
如果我设置了一个人,我是否也需要设置他/她的所有相关对象?
不,你不需要设置他所有的关联对象,除非相关对象不是可选的。因此,当您的人需要拥有资金时,您只需将资金添加到该人即可。
在我的发展习惯中,我想对人进行分类,并添加一些类方法,例如:
+ [Person newPersonWithFirstName:(NSString *)firstName lastName:(NSString *)lastName];
处理Person
相关的事情。