【问题标题】:iphone sdk - object model context design helpiphone sdk - 对象模型上下文设计帮助
【发布时间】:2011-07-24 11:10:23
【问题描述】:

我需要一些帮助来设计 iphone 的核心数据对象模型上下文。我已经开始使用 XCode 4 制作高尔夫记分卡应用程序,我希望应用程序的行为方式是...

-用户可以添加玩家(名字/姓氏,缩写)
-用户可以添加课程(带有名称、地址详细信息、带有标准/长度的孔)
- 玩一轮,以便在记分卡表视图(洞视图)的顶部,我希望有一个不会滚动的固定部分,并且会显示每一轮玩家的当前得分除了在同一门课程上的最高分。
- 在孔视图中,在部分标题中,我想显示“11 号洞:标准杆 3 / 150 米”,并且在每一行我想显示添加击球的按钮,以及该特定洞的最高杆数。
-在管理玩家、添加/删除玩家时,还可以浏览玩家曾经玩过的回合。

设计实体的最佳方法是什么?我已经得到了一些咨询,他建议我应该这样:

PLAYER:  
- first_name  
- last_name  
- initials  
- ROUND:*  
-- date  
-- COURSE  
-- SCORE  

COURSE:  
- name  
- address  
- hole 1 (par/length)  
- hole 2...18  

SCORE:  
- hole 1  
- hole 2...18  

SCORECARD: (will only be temporary object, to be deleted when round is complete)  
- PLAYER*

* = multiple objects

这是一个好的设计吗?我不知何故觉得我应该有一个永久的 SCORECARD 对象,它将包含 PLAYER 对象、一个 COURSE 对象和 18 个洞的属性,这些属性将获得像“3:3:5:4”这样的值(每个玩家的得分,冒号是分隔符)。

我希望这不是太乱的帖子,请原谅我的英语。

【问题讨论】:

    标签: iphone cocoa-touch xcode core-data


    【解决方案1】:

    我会考虑将孔属性外推为一个实体。属性将是“par”和“length”。然后,建立一个关系,使一个课程实体有很多漏洞。相反,每个洞都属于特定的球场。

    XCode 中的数据建模器非常适合直观地创建实体及其之间的关系。我建议您进行试验,直到您觉得自己有一个好的模型。还要考虑如何在代码中使用模型。例如,你会做什么样的查找?

    要进行更详细的研究,值得购买一本关于对象建模的好书。我使用了 Larman 的“应用 UML 和模式:面向对象分析与设计和迭代开发简介”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多