2011-03-28 72 views
0

我需要一些幫助設計iphone的核心數據對象模型上下文。我已經開始製作使用的XCode 4高爾夫記分卡應用程序,而我想要的應用程序的行爲是這樣的......iphone sdk - 對象模型上下文設計幫助

- 用戶可以將播放器(與第一/姓氏首字母)
- 用戶可以添加課程(名稱,地址詳細信息,孔洞長寬比)
- 在記分卡桌面視圖(洞視圖)頂部放置一輪,我想要固定的部分不會滾動,並且會顯示每個球員的當前比分球員此外到有史以來最好的成績。
- 在洞看來,在節標題中,我想顯示像「洞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」這樣的值(每個球員的分數,冒號是分隔符)。

我希望這不是太亂,發佈,請,原諒我的英語。

回答

0

我會考慮推斷孔屬性是一個實體。屬性將是「par」和「length」。然後,有一個關係,以便一個課程實體有很多漏洞。每個孔相反屬於一個特定的過程。

XCode中的數據建模器非常適合直觀地創建實體以及它們之間的關係。我建議試驗,直到你覺得你有一個好的模型。還要考慮如何在代碼中使用模型。例如,你會做什麼樣的查找?

如需更詳細的研究,值得一本關於對象建模的好書。我使用Larman的「應用UML和模式:面向對象的分析和設計和迭代開發介紹」。