關於資料的可擴充套件性問題

2021-08-29 09:26:45 字數 738 閱讀 7936

目前專案中遇到乙個問題。資料字典以後會有些變動,擴充套件一些字段,這些欄位要儲存在配置檔案中,資料庫最好不要做改動。這樣做的目的是方便以後靈活擴充套件,只需要改配置檔案。

現在有乙個解決方案是將現有的資料字段正常設計到資料表。每張表都有乙個擴充套件字段,用來儲存其它擴充套件資料,格式為text。其中的資料以xml資料格式儲存,以區分字段資訊。

實體bean的設計是這樣設計的:每個表對應乙個basicbean,不包括資料表中的擴充套件字段。每個bean擴充套件乙個子類dynamicbean,用list儲存表中擴充套件欄位中的xml資料解析出來的物件。

為了xml中的資料可以解析成為物件,專案中用到了xstream,這是乙個可以將物件序列化成xml資料,並且可以把xml資料解析成為物件的乙個開源框架,非常簡單,兩分鐘就可以輕鬆使用。

為了使由xstream序列化成的xml資料有良好的可讀性,需要設計乙個類來封裝擴充套件字段。如:user的擴充套件字段封裝成useritem(name,value)。

這樣如果以後user需要擴充套件欄位age,就可以新增乙個useritem(age,22)。新增到userdynamicbean中的list中。由xstream序列化成xml資料,同其它現有的字段一同存入資料庫。從資料庫中讀取資料時也是一樣:把除擴充套件字段以外的字段對映到basicbean。讀取擴充套件欄位中的xml資料,用xstream解析出儲存有item物件的list。然後把basicbean與list封裝到dynamicbean,提供給上層使用。

這是乙個初步的解決思路,哪位有比較好的解決辦法請不吝賜教。

CSS可擴充套件性

今日在寫pc官網的時候,一直對於html css的結構編寫完全按照自己的思維方式,今天把 交給老大的時候,被他指出很多編寫 的錯誤性,比如 結構,標籤的使用,語義化,css的可擴充套件性,由於 主要還是需要做seo優化,所以在標籤使用上也有些不合理之處,給了我一些建議,自己記錄以下 1 在html標...

Flume的可擴充套件性

flume的可擴充套件性 flume採用了三層架構,分別為agent,collector和storage,每一層均可以水平擴充套件。其中,所有agent和 collector由master統一管理,這使得系統容易監控和維護,且master允許有多個 使用zookeeper進行管理和負載均衡 這就避 ...

Flume的可擴充套件性

flume的可擴充套件性 flume採用了三層架構,分別為agent,collector和storage,每一層均可以水平擴充套件。其中,所有agent和 collector由master統一管理,這使得系統容易監控和維護,且master允許有多個 使用zookeeper進行管理和負載均衡 這就避 ...