資料字典适合隻會增加或修改(包括啟用禁用),但資料量變動不大,且極少參與邏輯處理的簡單資料。
例如:部門,隻會根據部門篩選查詢的情況下,可以做到資料字典裡;但如果要根據部門不同,進不同的資料處理,或者需要存儲其他資訊的話,就不适合用資料字典了,因為我需要根據部門的code去特殊處理,而資料字典是可修改的,一旦code變化,程式就必須修改。
優點:
1.可人工維護資料,不需要重新開機系統;
2.可以整合接口,不需要一個種類的資料提供一個接口;
例如:部門,小組等都隻涉及篩選查詢,那麼就可以統一做到資料字典中,提供一個資料字典的統一接口就行了,不用部門和小組都去做一套增删改查的接口。
缺點:
1.資料必須先于開發确定,否則無法開發;(人工設定key,可以在還沒添加到系統中之前就可以開發;但自動生成,必須先在系統中添加,才能繼續開發,耦合程度高);
2.存儲資訊有限,因為采用的是統一的字段,是以無法存儲特異性的資訊,比如:我想要存儲部門所在地 、部門的上司、部門的工作内容等資訊,就沒有辦法存儲了。
3.會導緻很多死代碼,不利于代碼維護。
資料字典就如同儲物間,當房子小的時候,會有很多雜物需要放到儲物間中;但是當房子越來越大,儲物間反而沒有太多東西可以放了。資料字典也是如此,但系統初期,很多資料如組織結構、角色、區域等資料都放在資料字典中。但随着系統的演進,很多資料需要進行單獨的維護,都從資料字典中分化出去,成為單獨的子產品,資料字典中需要維護的資料逐漸減少。