注意:WinForms C#早期學習級別!設計:訪問兒童收藏,同時避免父母!
我想在C#對象環境中實現某種情況的最佳方式提供一些幫助。我不能發佈代碼,因爲它還不存在,但我可以給你一個替代的現實生活中的比較。
簡而言之(因爲那就是我的工作方式)我有一本Book類。我有這些Book類的集合(<List>
)。 在每個Book類中,我有一個Chapter類的集合(<List>
)。書中的Class和Chapter類是基於完全不同的抽象類。它們在單獨的業務層中定義,數據從數據源層加載。請記住,有許多書籍和許多章節。
從我的GUI層我可以檢索一本書,它是基於集合索引/鍵的基礎屬性。我也可以通過Book類獲得書中的所有章節。
我需要做的是能夠從任何書籍中獲取任何章節類,而無需通過Book類。 實現此目的的最佳方式是什麼?
Thanks guys and gals
'get'將意味着搜索並從內存中檢索對章節的引用,然後可以使用該引用來查詢數據庫的所有詳細信息。 一章將會有一個唯一的id以及它的標題。 您是否建議我保留書籍和章節的單獨集合,然後將它們鏈接起來,而不是在書中擁有章節的層次關係? – 2009-08-24 23:48:36
您可以同時擁有層次關係和「所有章節」集合。在對象模型中有多條訪問路徑是非常合理的。然而,我不確定它是否合理地將整套章節保存在內存中 - 對於我猜想的國會圖書館員來說不起作用?因此,提供getById()的服務api可能會隱藏或者不存在整個內存。必要時進行數據庫檢索。 – djna 2009-08-25 06:18:12