我正在設計一個處理兩組數據的應用程序 - 用戶和區域。數據是從第三方製作的文件中讀取的。我有一個User類和一個Area類,並且數據被讀入一個Users數組和一個Areas數組(或者其他適當的內存結構,這取決於我們所使用的技術)。建模相關對象
這兩個類都有一個從文件讀取的唯一ID成員,而User類包含一個Area ID數組,給出了一個用戶與多個Areas關聯的關係。
的要求很簡單:
- 用戶列表區的
- 清單指定區域的用戶的
- 名單爲指定的用戶
地區
然後我想到了在User類上有'Get Areas'方法和Area類中的'Get Users'成員,如果例如我處於有Area對象的階段,我可以通過屬性找到它的用戶,但是如何在Area類上的「獲取用戶」方法意識到/有權訪問Users數組。
我以前曾經遇到過這個問題,但從來沒有真正想出一個明確的解決方案。也許我只是把它變得比實際更復雜。任何人都可以提供任何提示,網址或書籍來幫助我進行這種設計嗎?
更新: 謝謝大家花時間留下一些提示。非常感謝您的意見。
我同意這個問題的根源是多對多的關係。我理解這將如何在關係數據庫中建模,這非常簡單。
我收到的數據是來自第三方的二進制文件的形式,所以我無法控制這些結構,但是當我讀取它時,我可以以最好的方式存儲它。它有點兒在圓孔中嵌入方塊,但我認爲讀取它然後將其存儲在數據庫中,那麼程序將不得不查詢數據庫以獲得結果。這不是一個大量的數據,所以我認爲通過將它存儲在內存結構中可以獲得我需要的數據。
如果我使用.NET,我會用,而不是數組泛型列表。然而,我並沒有太多使用DataTable的經驗。我會調查一下。 – Gavin 2008-10-01 10:26:48