我有一个与 REST JSON API 交谈的 iOS 应用程序。我已将模型资源 1-1 与 API 中的控制器/端点映射。例如用户 (/users)、友谊 (/friendships)、评级 (/ratings)、RatedObject (/rated_objects) 等。在设备上,我使用 RestKit/CoreDate 来存储/同步所有对象。
现在我开始需要不同类型的聚合数据,例如,根据友谊类型,RatedObject 上的不同评级平均值和评级计数。我现在通过将数据添加到 RatedObject 类型来解决它:
额定对象
- 姓名
- 尺寸
- 评分AverageFromCloseFriends
- ratingCountFromCloseFriends
- 评分平均来自家庭
- ratingCountFromFamily
- 评分AverageFromAllFriends
- ratingCountFromAllFriends
但是,当它开始在不同类型的对象上获得更多类型的聚合数据时,它就无法控制了。而且我有时还需要只从一个特定的朋友那里得到平均值,而这不能添加到模型中。
我将所有数据本地存储在 iOS 设备上,聚合的数据应该很容易从服务器更新。
我应该如何解决这个问题并使客户端和服务器都变得简单自然?