2009-06-09 71 views
0

我正在設計一個儀表板來顯示企業指標(目前在C#中使用ASP.net 3.5),並尋找設計建議。我不太習慣於Web應用程序中的OOP。多態性與數據庫查詢

在多對多關係中,不同用戶可能會看到許多不同的指標。我將用戶存儲在本地SQL數據庫中,並且爲每個「度量標準」存儲元數據也是有意義的。這也爲每個人提供了一種訪問控制列表。每個度量可以有幾個不同的圖表,它們具有不同的設計(酒吧,列,餅,線,或不同系列在不同Y軸上的組合等)。

這些圖表可以通過編程設計,然後在運行時添加到ASP.net頁面。有一個空白圖的超類的繼承結構以及擴展它的不同圖表類型會很好。

頁面將選擇給定用戶有權查看並生成這些圖表的圖表。儘管如此,我仍然看到某種大開關語句作爲粗略查找表,以便根據數據庫中選擇的信息實例化相應的子類。

有沒有更具藝術性的方式來做到這一點?不知何故在運行時提供類型聲明?我是否應該將所有關於圖表的樣式信息移動到數據庫中,併爲系列,數據點,顏色等添加其他表和列,其中單個圖表類會執行所有必要的查詢並生成圖表?謝謝。

回答

1

我意識到我在找什麼可以用動態類加載來解決。 有一個來自Michael Clarke的C#here動態類加載的很好的例子。

基本上我可以根據來自查詢的字符串文件名加載一個類。

0

您可以將該類的強名稱存儲在數據庫中,然後只需創建該類的一個實例。

所以不是排序,它可能會存儲像

YourNamespace.UI.Charts.Bar 

條形圖個人而言,我不會太害怕的只是存儲圖表類型,雖然,因爲它爲您提供了一個抽象層可能會有所幫助。