WebObjects/EOF/建模/實體
外觀
< WebObjects | EOF
物件圖中的實體通常代表關係資料庫中的表。例如,假設您正在處理一個學校。您可能有一個數據庫,其中包含一個學生表和一個教室列表。在標準 SQL 式表示法中,學生表可能被稱為STUDENT,而教室表可能被稱為ROOM。您將擁有一個“學生”實體和一個“教室”實體。
將我們的 ROOM 表命名為該名稱是經過深思熟慮的選擇。它本可以被稱為CLASSROOM。然而,您可以看到,教室實際上是放置學生並希望他們能夠接受教育的任何房間。因此,這些房間僅僅是房間。您可以使用其他更抽象的概念。您可以決定學生只是PERSON列表中的例項,這並不錯誤。選擇實體的抽象程度是個人選擇和經驗問題。
EOF 使用類com.webobjects.eoaccess.EOEntity 來管理實體。
實體可以是除表以外的其他事物。實體可以代表任何事物組,當將該組視為一個組時很有用。
例如,您可以決定使用一個 PERSON 表。您可以在表中新增一個名為“isStudent”的列。還有其他方法可以做到這一點,但這是一種方法。在這種情況下,可以將“學生”實體定義為 PERSON 表中滿足定義為“(isStudent == YES)”的限定符的物件。事實上,這就是使用單表實體繼承設定實體的方式。
您還可能有一些外部資料來源,您可以從中獲取資訊。例如,一個外部工具可以從紐約證券交易所檢索價格資訊。來自紐約證券交易所的“今日接收的價格”列表可以建模為一個實體,儘管是一個內容不穩定的實體。您可以有一個望遠鏡向資料服務報告“視野中正在移動的物體”。這將是一個極其不穩定的實體。很可能沒有物件會在此實體中出現兩次,這與關係資料庫的預期行為完全不同,但無論如何它可以被視為一個實體。